
#include "gaussQuad.h"
#include <cstdio>
#include <cstring>
#include <vector>

void gaussQuad(std::vector<double> & x,std::vector<double> & w){
  unsigned int n = x.size();
  //----------------------------------------------------------------------
  //
  // --- Number of Gauss Points = 1
  //
  if(n==1){
    x[0]  = 0.0;
    w[0]  = 2.;
  }
  //----------------------------------------------------------------------
  //
  // --- Number of Gauss Points = 2
  //
  else if(n==2){
    x[0]  = -0.57735026918962576450914878050195746;
    x[1]  = -x[0];
    w[0]  = 1.;
    w[1]  = w[0];
  }
  //----------------------------------------------------------------------
  //
  // --- Number of Gauss Points = 3
  //
  else if(n==3){
    x[0]  = -0.77459666924148337703585307995647992;
    x[1]  = 0.0;
    x[2]  = -x[0];
    w[0]  = 0.55555555555555555555555555555555556;
    w[1]  = 0.88888888888888888888888888888888889;
    w[2]  = w[0];
  }
  //----------------------------------------------------------------------
  //
  // --- Number of Gauss Points = 4
  //
  else if(n==4){
    x[0]  = -0.86113631159405257522394648889280951;
    x[1]  = -0.33998104358485626480266575910324469;
    x[2]  = -x[1];
    x[3]  = -x[0];
    w[0]  = 0.34785484513745385737306394922199941;
    w[1]  = 0.65214515486254614262693605077800059;
    w[2]  = w[1];
    w[3]  = w[0];
  }
  //----------------------------------------------------------------------
  //
  // --- Number of Gauss Points = 5
  //
  else if(n==5){
    x[0]  = -0.90617984593866399279762687829939297;
    x[1]  = -0.5384693101056830910363144207002088;
    x[2]  = 0.0;
    x[3]  = -x[1];
    x[4]  = -x[0];
    w[0]  = 0.23692688505618908751426404071991736;
    w[1]  = 0.47862867049936646804129151483563819;
    w[2]  = 0.56888888888888888888888888888888889;
    w[3]  = w[1];
    w[4]  = w[0];
  }
  //----------------------------------------------------------------------
  //
  // --- Number of Gauss Points = 6
  //
  else if(n==6){
    x[0]  = -0.93246951420315202781230155449399461;
    x[1]  = -0.66120938646626451366139959501990535;
    x[2]  = -0.23861918608319690863050172168071194;
    x[3]  = -x[2];
    x[4]  = -x[1];
    x[5]  = -x[0];
    w[0]  = 0.17132449237917034504029614217273289;
    w[1]  = 0.36076157304813860756983351383771611;
    w[2]  = 0.46791393457269104738987034398955099;
    w[3]  = w[2];
    w[4]  = w[1];
    w[5]  = w[0];
  }
  //----------------------------------------------------------------------
  //
  // --- Number of Gauss Points = 7
  //
  else if(n==7){
    x[0]  = -0.94910791234275852452618968404785126;
    x[1]  = -0.74153118559939443986386477328078841;
    x[2]  = -0.40584515137739716690660641207696146;
    x[3]  = 0.0;
    x[4]  = -x[2];
    x[5]  = -x[1];
    x[6]  = -x[0];
    w[0]  = 0.12948496616886969327061143267908202;
    w[1]  = 0.27970539148927666790146777142377958;
    w[2]  = 0.38183005050511894495036977548897513;
    w[3]  = 0.41795918367346938775510204081632653;
    w[4]  = w[2];
    w[5]  = w[1];
    w[6]  = w[0];
  }
  //----------------------------------------------------------------------
  //
  // --- Number of Gauss Points = 8
  //
  else if(n==8){
    x[0]  = -0.96028985649753623168356086856947299;
    x[1]  = -0.79666647741362673959155393647583044;
    x[2]  = -0.52553240991632898581773904918924635;
    x[3]  = -0.18343464249564980493947614236018398;
    x[4]  = -x[3];
    x[5]  = -x[2];
    x[6]  = -x[1];
    x[7]  = -x[0];
    w[0]  = 0.10122853629037625915253135430996219;
    w[1]  = 0.22238103445337447054435599442624088;
    w[2]  = 0.31370664587788728733796220198660131;
    w[3]  = 0.36268378337836198296515044927719561;
    w[4]  = w[3];
    w[5]  = w[2];
    w[6]  = w[1];
    w[7]  = w[0];
  }
  //----------------------------------------------------------------------
  //
  // --- Number of Gauss Points = 9
  //
  else if(n==9){
    x[0]  = -0.96816023950762608983557620290367287;
    x[1]  = -0.83603110732663579429942978806973488;
    x[2]  = -0.61337143270059039730870203934147418;
    x[3]  = -0.32425342340380892903853801464333661;
    x[4]  = 0.0;
    x[5]  = -x[3];
    x[6]  = -x[2];
    x[7]  = -x[1];
    x[8]  = -x[0];
    w[0]  = 0.081274388361574411971892158110523651;
    w[1]  = 0.18064816069485740405847203124291281;
    w[2]  = 0.26061069640293546231874286941863285;
    w[3]  = 0.31234707704000284006863040658444367;
    w[4]  = 0.33023935500125976316452506928697405;
    w[5]  = w[3];
    w[6]  = w[2];
    w[7]  = w[1];
    w[8]  = w[0];
  }
  //----------------------------------------------------------------------
  //
  // --- Number of Gauss Points = 10
  //
  else if(n==10){
    x[0]  = -0.97390652851717172007796401208445205;
    x[1]  = -0.86506336668898451073209668842349305;
    x[2]  = -0.67940956829902440623432736511487358;
    x[3]  = -0.43339539412924719079926594316578416;
    x[4]  = -0.14887433898163121088482600112971998;
    x[5]  = -x[4];
    x[6]  = -x[3];
    x[7]  = -x[2];
    x[8]  = -x[1];
    x[9]  = -x[0];
    w[0]  = 0.066671344308688137593568809893331793;
    w[1]  = 0.14945134915058059314577633965769733;
    w[2]  = 0.21908636251598204399553493422816319;
    w[3]  = 0.26926671930999635509122692156946935;
    w[4]  = 0.29552422471475287017389299465133833;
    w[5]  = w[4];
    w[6]  = w[3];
    w[7]  = w[2];
    w[8]  = w[1];
    w[9]  = w[0];
  }
  //----------------------------------------------------------------------
  //
  // --- Number of Gauss Points = 11
  //
  else if(n==11){
    x[0]  = -0.97822865814605699280393800112285739;
    x[1]  = -0.88706259976809529907515776930392727;
    x[2]  = -0.73015200557404932409341625203115346;
    x[3]  = -0.51909612920681181592572566945860955;
    x[4]  = -0.26954315595234497233153198540086152;
    x[5]  = 0.0;
    x[6]  = -x[4];
    x[7]  = -x[3];
    x[8]  = -x[2];
    x[9]  = -x[1];
    x[10] = -x[0];
    w[0]  = 0.055668567116173666482753720442548579;
    w[1]  = 0.1255803694649046246346942992239401;
    w[2]  = 0.18629021092773425142609764143165589;
    w[3]  = 0.23319376459199047991852370484317514;
    w[4]  = 0.2628045445102466621806888698905092;
    w[5]  = 0.27292508677790063071448352833634219;
    w[6]  = w[4];
    w[7]  = w[3];
    w[8]  = w[2];
    w[9]  = w[1];
    w[10] = w[0];
  }
  //----------------------------------------------------------------------
  //
  // --- Number of Gauss Points = 12
  //
  else if(n==12){
    x[0]  = -0.98156063424671925069054909014928082;
    x[1]  = -0.90411725637047485667846586611909619;
    x[2]  = -0.76990267419430468703689383321281808;
    x[3]  = -0.58731795428661744729670241894053428;
    x[4]  = -0.36783149899818019375269153664371756;
    x[5]  = -0.12523340851146891547244136946385313;
    x[6]  = -x[5];
    x[7]  = -x[4];
    x[8]  = -x[3];
    x[9]  = -x[2];
    x[10] = -x[1];
    x[11] = -x[0];
    w[0]  = 0.04717533638651182719461596148501706;
    w[1]  = 0.10693932599531843096025471819399622;
    w[2]  = 0.16007832854334622633465252954335907;
    w[3]  = 0.20316742672306592174906445580979838;
    w[4]  = 0.23349253653835480876084989892487806;
    w[5]  = 0.24914704581340278500056243604295121;
    w[6]  = w[5];
    w[7]  = w[4];
    w[8]  = w[3];
    w[9]  = w[2];
    w[10] = w[1];
    w[11] = w[0];
  }
  //----------------------------------------------------------------------
  //
  // --- Number of Gauss Points = 13
  //
  else if(n==13){
    x[0]  = -0.98418305471858814947282944880710961;
    x[1]  = -0.91759839922297796520654783650071951;
    x[2]  = -0.80157809073330991279420648958285989;
    x[3]  = -0.64234933944034022064398460699551565;
    x[4]  = -0.44849275103644685287791285212763987;
    x[5]  = -0.23045831595513479406552812109798884;
    x[6]  = 0.0;
    x[7]  = -x[5];
    x[8]  = -x[4];
    x[9]  = -x[3];
    x[10] = -x[2];
    x[11] = -x[1];
    x[12] = -x[0];
    w[0]  = 0.04048400476531587952002159220098606;
    w[1]  = 0.092121499837728447914421775953797121;
    w[2]  = 0.13887351021978723846360177686887147;
    w[3]  = 0.178145980761945738280046691996098;
    w[4]  = 0.20781604753688850231252321930605276;
    w[5]  = 0.22628318026289723841209018603977662;
    w[6]  = 0.23255155323087391019458951526883595;
    w[7]  = w[5];
    w[8]  = w[4];
    w[9]  = w[3];
    w[10] = w[2];
    w[11] = w[1];
    w[12] = w[0];
  }
  //----------------------------------------------------------------------
  //
  // --- Number of Gauss Points = 14
  //
  else if(n==14){
    x[0]  = -0.9862838086968123388415972667040528;
    x[1]  = -0.92843488366357351733639113937787426;
    x[2]  = -0.82720131506976499318979474265039496;
    x[3]  = -0.68729290481168547014801980301933414;
    x[4]  = -0.51524863635815409196529071855118866;
    x[5]  = -0.31911236892788976043567182416847547;
    x[6]  = -0.10805494870734366206624465021983475;
    x[7]  = -x[6];
    x[8]  = -x[5];
    x[9]  = -x[4];
    x[10] = -x[3];
    x[11] = -x[2];
    x[12] = -x[1];
    x[13] = -x[0];
    w[0]  = 0.035119460331751863031832876138191781;
    w[1]  = 0.08015808715976020980563327706285431;
    w[2]  = 0.12151857068790318468941480907247663;
    w[3]  = 0.15720316715819353456960193862384216;
    w[4]  = 0.18553839747793781374171659012515704;
    w[5]  = 0.20519846372129560396592406566121806;
    w[6]  = 0.21526385346315779019587644331626004;
    w[7]  = w[6];
    w[8]  = w[5];
    w[9]  = w[4];
    w[10] = w[3];
    w[11] = w[2];
    w[12] = w[1];
    w[13] = w[0];
  }
  //----------------------------------------------------------------------
  //
  // --- Number of Gauss Points = 15
  //
  else if(n==15){
    x[0]  = -0.98799251802048542848956571858661258;
    x[1]  = -0.93727339240070590430775894771020947;
    x[2]  = -0.84820658341042721620064832077421685;
    x[3]  = -0.72441773136017004741618605461393801;
    x[4]  = -0.57097217260853884753722673725391064;
    x[5]  = -0.39415134707756336989720737098104547;
    x[6]  = -0.20119409399743452230062830339459621;
    x[7]  = 0.0;
    x[8]  = -x[6];
    x[9]  = -x[5];
    x[10] = -x[4];
    x[11] = -x[3];
    x[12] = -x[2];
    x[13] = -x[1];
    x[14] = -x[0];
    w[0]  = 0.030753241996117268354628393577204418;
    w[1]  = 0.070366047488108124709267416450667338;
    w[2]  = 0.1071592204671719350118695466858693;
    w[3]  = 0.13957067792615431444780479451102832;
    w[4]  = 0.16626920581699393355320086048120881;
    w[5]  = 0.18616100001556221102680056186642282;
    w[6]  = 0.19843148532711157645611832644383932;
    w[7]  = 0.20257824192556127288062019996751931;
    w[8]  = w[6];
    w[9]  = w[5];
    w[10] = w[4];
    w[11] = w[3];
    w[12] = w[2];
    w[13] = w[1];
    w[14] = w[0];
  }
  //----------------------------------------------------------------------
  //
  // --- Number of Gauss Points = 16
  //
  else if(n==16){
    x[0]  = -0.98940093499164993259615417345033263;
    x[1]  = -0.94457502307323257607798841553460835;
    x[2]  = -0.86563120238783174388046789771239313;
    x[3]  = -0.75540440835500303389510119484744227;
    x[4]  = -0.61787624440264374844667176404879102;
    x[5]  = -0.45801677765722738634241944298357757;
    x[6]  = -0.28160355077925891323046050146049611;
    x[7]  = -0.095012509837637440185319335424958063;
    x[8]  = -x[7];
    x[9]  = -x[6];
    x[10] = -x[5];
    x[11] = -x[4];
    x[12] = -x[3];
    x[13] = -x[2];
    x[14] = -x[1];
    x[15] = -x[0];
    w[0]  = 0.027152459411754094851780572456018104;
    w[1]  = 0.062253523938647892862843836994377694;
    w[2]  = 0.095158511682492784809925107602246226;
    w[3]  = 0.12462897125553387205247628219201642;
    w[4]  = 0.14959598881657673208150173054747855;
    w[5]  = 0.16915651939500253818931207903035996;
    w[6]  = 0.18260341504492358886676366796921994;
    w[7]  = 0.18945061045506849628539672320828311;
    w[8]  = w[7];
    w[9]  = w[6];
    w[10] = w[5];
    w[11] = w[4];
    w[12] = w[3];
    w[13] = w[2];
    w[14] = w[1];
    w[15] = w[0];
  }
  //----------------------------------------------------------------------
  //
  // --- Number of Gauss Points = 17
  //
  else if(n==17){
    x[0]  = -0.99057547531441733567543401994066528;
    x[1]  = -0.95067552176876776122271695789580302;
    x[2]  = -0.88023915372698590212295569448815569;
    x[3]  = -0.78151400389680140692523005552047605;
    x[4]  = -0.65767115921669076585030221664300234;
    x[5]  = -0.51269053708647696788624656862955187;
    x[6]  = -0.35123176345387631529718551709534601;
    x[7]  = -0.17848418149584785585067749365406556;
    x[8]  = 0.0;
    x[9]  = -x[7];
    x[10] = -x[6];
    x[11] = -x[5];
    x[12] = -x[4];
    x[13] = -x[3];
    x[14] = -x[2];
    x[15] = -x[1];
    x[16] = -x[0];
    w[0]  = 0.024148302868547931960110026287565325;
    w[1]  = 0.055459529373987201129440165358244661;
    w[2]  = 0.085036148317179180883535370191062074;
    w[3]  = 0.11188384719340397109478838562635593;
    w[4]  = 0.1351363684685254732863199817023502;
    w[5]  = 0.15404576107681028808143159480195861;
    w[6]  = 0.16800410215645004450997066378832316;
    w[7]  = 0.17656270536699264632527099011319724;
    w[8]  = 0.17944647035620652545826564426188562;
    w[9]  = w[7];
    w[10] = w[6];
    w[11] = w[5];
    w[12] = w[4];
    w[13] = w[3];
    w[14] = w[2];
    w[15] = w[1];
    w[16] = w[0];
  }
  //----------------------------------------------------------------------
  //
  // --- Number of Gauss Points = 18
  //
  else if(n==18){
    x[0]  = -0.99156516842093094673001600470615077;
    x[1]  = -0.95582394957139775518119589292977631;
    x[2]  = -0.89260246649755573920606059112714552;
    x[3]  = -0.8037049589725231156824174550145908;
    x[4]  = -0.69168704306035320787489108128884839;
    x[5]  = -0.55977083107394753460787154852532914;
    x[6]  = -0.41175116146284264603593179383305164;
    x[7]  = -0.25188622569150550958897285487791123;
    x[8]  = -0.084775013041735301242261852935783812;
    x[9] = -x[8];
    x[10] = -x[7];
    x[11] = -x[6];
    x[12] = -x[5];
    x[13] = -x[4];
    x[14] = -x[3];
    x[15] = -x[2];
    x[16] = -x[1];
    x[17] = -x[0];
    w[0]  = 0.021616013526483310313342710266452469;
    w[1]  = 0.049714548894969796453334946202638642;
    w[2]  = 0.076425730254889056529129677616636526;
    w[3]  = 0.10094204410628716556281398492483461;
    w[4]  = 0.12255520671147846018451912680020156;
    w[5]  = 0.14064291467065065120473130375194723;
    w[6]  = 0.15468467512626524492541800383637477;
    w[7]  = 0.16427648374583272298605377646592759;
    w[8]  = 0.16914238296314359184065647013498661;
    w[9]  = w[8];
    w[10] = w[7];
    w[11] = w[6];
    w[12] = w[5];
    w[13] = w[4];
    w[14] = w[3];
    w[15] = w[2];
    w[16] = w[1];
    w[17] = w[0];
  }
  //----------------------------------------------------------------------
  //
  // --- Number of Gauss Points = 19
  //
  else if(n==19){
    x[0]  = -0.99240684384358440318901767025326049;
    x[1]  = -0.96020815213483003085277884068765153;
    x[2]  = -0.90315590361481790164266092853231249;
    x[3]  = -0.8227146565371428249789224867127139;
    x[4]  = -0.72096617733522937861709586082378163;
    x[5]  = -0.60054530466168102346963816494623928;
    x[6]  = -0.46457074137596094571726714810410237;
    x[7]  = -0.31656409996362983199011732884984492;
    x[8]  = -0.16035864564022537586809611574074355;
    x[9]  = 0.0;
    x[10] = -x[8];
    x[11] = -x[7];
    x[12] = -x[6];
    x[13] = -x[5];
    x[14] = -x[4];
    x[15] = -x[3];
    x[16] = -x[2];
    x[17] = -x[1];
    x[18] = -x[0];
    w[0]  = 0.019461788229726477036312041464438436;
    w[1]  = 0.044814226765699600332838157401994212;
    w[2]  = 0.069044542737641226580708258006013045;
    w[3]  = 0.091490021622449999464462094123839653;
    w[4]  = 0.111566645547333994716023901681766;
    w[5]  = 0.12875396253933622767551578485687712;
    w[6]  = 0.14260670217360661177574610944190297;
    w[7]  = 0.152766042065859666778855400897663;
    w[8]  = 0.1589688433939543476499564394650472;
    w[9]  = 0.16105444984878369597916362532091674;
    w[10] = w[8];
    w[11] = w[7];
    w[12] = w[6];
    w[13] = w[5];
    w[14] = w[4];
    w[15] = w[3];
    w[16] = w[2];
    w[17] = w[1];
    w[18] = w[0];
  }
  //----------------------------------------------------------------------
  //
  // --- Number of Gauss Points = 20
  //
  else if(n==20){
    x[0]  = -0.99312859918509492478612238847132028;
    x[1]  = -0.96397192727791379126766613119727722;
    x[2]  = -0.91223442825132590586775244120329811;
    x[3]  = -0.83911697182221882339452906170152069;
    x[4]  = -0.74633190646015079261430507035564159;
    x[5]  = -0.63605368072651502545283669622628594;
    x[6]  = -0.510867001950827098004364050955251;
    x[7]  = -0.37370608871541956067254817702492724;
    x[8]  = -0.22778585114164507808049619536857462;
    x[9]  = -0.076526521133497333754640409398838211;
    x[10] = -x[9];
    x[11] = -x[8];
    x[12] = -x[7];
    x[13] = -x[6];
    x[14] = -x[5];
    x[15] = -x[4];
    x[16] = -x[3];
    x[17] = -x[2];
    x[18] = -x[1];
    x[19] = -x[0];
    w[0]  = 0.017614007139152118311861962351852816;
    w[1]  = 0.04060142980038694133103995227493211;
    w[2]  = 0.062672048334109063569506535187041606;
    w[3]  = 0.083276741576704748724758143222046206;
    w[4]  = 0.10193011981724043503675013548034988;
    w[5]  = 0.11819453196151841731237737771138229;
    w[6]  = 0.13168863844917662689849449974816313;
    w[7]  = 0.14209610931838205132929832506716493;
    w[8]  = 0.14917298647260374678782873700196944;
    w[9]  = 0.15275338713072585069808433195509759;
    w[10] = w[9];
    w[11] = w[8];
    w[12] = w[7];
    w[13] = w[6];
    w[14] = w[5];
    w[15] = w[4];
    w[16] = w[3];
    w[17] = w[2];
    w[18] = w[1];
    w[19] = w[0];
  }
  //----------------------------------------------------------------------
  //
  // --- Number of Gauss Points = 21
  //
  else if(n==21){
    x[0]  = -0.99375217062038950026024203593794093;
    x[1]  = -0.96722683856630629431662221490769516;
    x[2]  = -0.92009933415040082879018713371496889;
    x[3]  = -0.85336336458331728364725063858756767;
    x[4]  = -0.76843996347567790861587785130622803;
    x[5]  = -0.66713880419741231930596666999033916;
    x[6]  = -0.55161883588721980705901879672431329;
    x[7]  = -0.42434212020743878357366888854378805;
    x[8]  = -0.28802131680240109660079251606460032;
    x[9]  = -0.14556185416089509093703098233868633;
    x[10] = 0.0;
    x[11] = -x[9];
    x[12] = -x[8];
    x[13] = -x[7];
    x[14] = -x[6];
    x[15] = -x[5];
    x[16] = -x[4];
    x[17] = -x[3];
    x[18] = -x[2];
    x[19] = -x[1];
    x[20] = -x[0];
    w[0]  = 0.016017228257774333324224616858471015;
    w[1]  = 0.036953789770852493799950668299329666;
    w[2]  = 0.057134425426857208283635826472447957;
    w[3]  = 0.076100113628379302017051653300183179;
    w[4]  = 0.093444423456033861553289741113932088;
    w[5]  = 0.10879729916714837766347457807010564;
    w[6]  = 0.1218314160537285341953671771257336;
    w[7]  = 0.1322689386333374617810525744967756;
    w[8]  = 0.13988739479107315472213342386758311;
    w[9]  = 0.14452440398997005906382716655375254;
    w[10] = 0.14608113364969042719198514768337119;
    w[11] = w[9];
    w[12] = w[8];
    w[13] = w[7];
    w[14] = w[6];
    w[15] = w[5];
    w[16] = w[4];
    w[17] = w[3];
    w[18] = w[2];
    w[19] = w[1];
    w[20] = w[0];
  }
  //----------------------------------------------------------------------
  //
  // --- Number of Gauss Points = 22
  //
  else if(n==22){
    x[0]  = -0.99429458548239929207303142116129898;
    x[1]  = -0.97006049783542872712395098676526871;
    x[2]  = -0.9269567721871740005206929392590532;
    x[3]  = -0.86581257772030013653642563701937873;
    x[4]  = -0.78781680597920816200427795540835152;
    x[5]  = -0.69448726318668278005068983576225677;
    x[6]  = -0.58764040350691159295887692763864735;
    x[7]  = -0.46935583798675702640633071096640635;
    x[8]  = -0.34193582089208422515814742042737962;
    x[9]  = -0.20786042668822128547884653391954573;
    x[10] = -0.069739273319722221213841796118628082;
    x[11] = -x[10];
    x[12] = -x[9];
    x[13] = -x[8];
    x[14] = -x[7];
    x[15] = -x[6];
    x[16] = -x[5];
    x[17] = -x[4];
    x[18] = -x[3];
    x[19] = -x[2];
    x[20] = -x[1];
    x[21] = -x[0];
    w[0]  = 0.014627995298272200684991098047185445;
    w[1]  = 0.033774901584814154793302246865912901;
    w[2]  = 0.052293335152683285940312051273211256;
    w[3]  = 0.069796468424520488094961418930217657;
    w[4]  = 0.085941606217067727414443681372702866;
    w[5]  = 0.10041414444288096493207883783053628;
    w[6]  = 0.11293229608053921839340060742178432;
    w[7]  = 0.12325237681051242428556098615481447;
    w[8]  = 0.13117350478706237073296499253030745;
    w[9]  = 0.1365414983460151713525738312315174;
    w[10] = 0.13925187285563199337541024834180996;
    w[11] = w[10];
    w[12] = w[9];
    w[13] = w[8];
    w[14] = w[7];
    w[15] = w[6];
    w[16] = w[5];
    w[17] = w[4];
    w[18] = w[3];
    w[19] = w[2];
    w[20] = w[1];
    w[21] = w[0];
  }
  //----------------------------------------------------------------------
  //
  // --- Number of Gauss Points = 23
  //
  else if(n==23){
    x[0]  = -0.99476933499755212352392571544557436;
    x[1]  = -0.97254247121811523195602407682077738;
    x[2]  = -0.93297108682601610234919698903842298;
    x[3]  = -0.87675235827044166737815688593414567;
    x[4]  = -0.80488840161883989215111840699677856;
    x[5]  = -0.71866136313195019446162448374861885;
    x[6]  = -0.61960987576364615638509731164959565;
    x[7]  = -0.50950147784600754968979304786684643;
    x[8]  = -0.39030103803029083142148887288060546;
    x[9]  = -0.2641356809703449305338695382833096;
    x[10] = -0.13325682429846611093174268224176614;
    x[11] = 0.0;
    x[12] = -x[10];
    x[13] = -x[9];
    x[14] = -x[8];
    x[15] = -x[7];
    x[16] = -x[6];
    x[17] = -x[5];
    x[18] = -x[4];
    x[19] = -x[3];
    x[20] = -x[2];
    x[21] = -x[1];
    x[22] = -x[0];
    w[0]  = 0.013411859487141772081309493458615065;
    w[1]  = 0.030988005856979444310694219641884505;
    w[2]  = 0.048037671731084668571641071632033997;
    w[3]  = 0.064232421408525852127169615158910998;
    w[4]  = 0.079281411776718954922892524742043227;
    w[5]  = 0.092915766060035147477018617369764649;
    w[6]  = 0.10489209146454141007408618501474385;
    w[7]  = 0.1149966402224113649416435129339613;
    w[8]  = 0.12304908430672953046757840067200965;
    w[9]  = 0.12890572218808214997859533939979365;
    w[10] = 0.13246203940469661737164246470331693;
    w[11] = 0.13365457218610617535145711054584434;
    w[12] = w[10];
    w[13] = w[9];
    w[14] = w[8];
    w[15] = w[7];
    w[16] = w[6];
    w[17] = w[5];
    w[18] = w[4];
    w[19] = w[3];
    w[20] = w[2];
    w[21] = w[1];
    w[22] = w[0];
  }
  //----------------------------------------------------------------------
  //
  // --- Number of Gauss Points = 24
  //
  else if(n==24){
    x[0]  = -0.99518721999702136017999740970073681;
    x[1]  = -0.97472855597130949819839199300816906;
    x[2]  = -0.93827455200273275852364900170872145;
    x[3]  = -0.88641552700440103421315434198219676;
    x[4]  = -0.82000198597390292195394987266974521;
    x[5]  = -0.74012419157855436424382810309997843;
    x[6]  = -0.64809365193697556925249578691074763;
    x[7]  = -0.54542147138883953565837561721837237;
    x[8]  = -0.43379350762604513848708423191334971;
    x[9]  = -0.31504267969616337438679329131981024;
    x[10] = -0.19111886747361630915863982075706963;
    x[11] = -0.064056892862605626085043082624745039;
    x[12] = -x[11];
    x[13] = -x[10];
    x[14] = -x[9];
    x[15] = -x[8];
    x[16] = -x[7];
    x[17] = -x[6];
    x[18] = -x[5];
    x[19] = -x[4];
    x[20] = -x[3];
    x[21] = -x[2];
    x[22] = -x[1];
    x[23] = -x[0];
    w[0]  = 0.012341229799987199546805667070037292;
    w[1]  = 0.028531388628933663181307815951878286;
    w[2]  = 0.044277438817419806168602748211338229;
    w[3]  = 0.059298584915436780746367758500108585;
    w[4]  = 0.073346481411080305734033615253116518;
    w[5]  = 0.086190161531953275917185202983742667;
    w[6]  = 0.097618652104113888269880664464247154;
    w[7]  = 0.10744427011596563478257734244660622;
    w[8]  = 0.11550566805372560135334448390678356;
    w[9]  = 0.12167047292780339120446315347626243;
    w[10] = 0.12583745634682829612137538251118369;
    w[11] = 0.12793819534675215697405616522469537;
    w[12] = w[11];
    w[13] = w[10];
    w[14] = w[9];
    w[15] = w[8];
    w[16] = w[7];
    w[17] = w[6];
    w[18] = w[5];
    w[19] = w[4];
    w[20] = w[3];
    w[21] = w[2];
    w[22] = w[1];
    w[23] = w[0];
  }
  //----------------------------------------------------------------------
  //
  // --- Number of Gauss Points = 25
  //
  else if(n==25){
    x[0]  = -0.99555696979049809790878494689390162;
    x[1]  = -0.97666392145951751149831538647959407;
    x[2]  = -0.94297457122897433941401116965847053;
    x[3]  = -0.89499199787827536885104200678280495;
    x[4]  = -0.83344262876083400142102110869356957;
    x[5]  = -0.75925926303735763057728286520436098;
    x[6]  = -0.67356636847346836448512063324762218;
    x[7]  = -0.57766293024122296772368984161265407;
    x[8]  = -0.47300273144571496052218211500919204;
    x[9]  = -0.36117230580938783773582173012764067;
    x[10] = -0.24386688372098843204519036279745159;
    x[11] = -0.12286469261071039638735981880803681;
    x[12] = 0.0;
    x[13] = -x[11];
    x[14] = -x[10];
    x[15] = -x[9];
    x[16] = -x[8];
    x[17] = -x[7];
    x[18] = -x[6];
    x[19] = -x[5];
    x[20] = -x[4];
    x[21] = -x[3];
    x[22] = -x[2];
    x[23] = -x[1];
    x[24] = -x[0];
    w[0]  = 0.011393798501026287947902964113234774;
    w[1]  = 0.026354986615032137261901815295299145;
    w[2]  = 0.040939156701306312655623487711645954;
    w[3]  = 0.054904695975835191925936891540473324;
    w[4]  = 0.068038333812356917207187185656707969;
    w[5]  = 0.080140700335001018013234959669111302;
    w[6]  = 0.091028261982963649811497220702891653;
    w[7]  = 0.10053594906705064420220689039268583;
    w[8]  = 0.10851962447426365311609395705011662;
    w[9]  = 0.11485825914571164833932554586955581;
    w[10] = 0.11945576353578477222817812651290105;
    w[11] = 0.12224244299031004168895951894585151;
    w[12] = 0.12317605372671545120390287307905014;
    w[13] = w[11];
    w[14] = w[10];
    w[15] = w[9];
    w[16] = w[8];
    w[17] = w[7];
    w[18] = w[6];
    w[19] = w[5];
    w[20] = w[4];
    w[21] = w[3];
    w[22] = w[2];
    w[23] = w[1];
    w[24] = w[0];
  }
  //----------------------------------------------------------------------
  //
  // --- Number of Gauss Points = 26
  //
  else if(n==26){
    x[0]  = -0.99588570114561692900321695932290603;
    x[1]  = -0.97838544595647099110058035431192631;
    x[2]  = -0.94715906666171425013591528351803675;
    x[3]  = -0.90263786198430707421766559923121025;
    x[4]  = -0.84544594278849801879750706146783816;
    x[5]  = -0.77638594882067885619296724724228387;
    x[6]  = -0.6964272604199572648638139137294247;
    x[7]  = -0.60669229301761806323197874691688705;
    x[8]  = -0.50844071482450571769570306472556918;
    x[9]  = -0.4030517551234863064810773770988831;
    x[10] = -0.2920048394859568951428353820778303;
    x[11] = -0.17685882035689018396905774841834475;
    x[12] = -0.059230093429313207093718575198403361;
    x[13] = -x[12];
    x[14] = -x[11];
    x[15] = -x[10];
    x[16] = -x[9];
    x[17] = -x[8];
    x[18] = -x[7];
    x[19] = -x[6];
    x[20] = -x[5];
    x[21] = -x[4];
    x[22] = -x[3];
    x[23] = -x[2];
    x[24] = -x[1];
    x[25] = -x[0];
    w[0]  = 0.010551372617343007155651187685251978;
    w[1]  = 0.0244178510926319087896158275197884;
    w[2]  = 0.037962383294362763950303141248850495;
    w[3]  = 0.05097582529714781199831990072407338;
    w[4]  = 0.063274046329574835539453689907045096;
    w[5]  = 0.074684149765659745887075796102848339;
    w[6]  = 0.085045894313485239210447765079981697;
    w[7]  = 0.094213800355914148463664883067303199;
    w[8]  = 0.10205916109442542323841407025343079;
    w[9]  = 0.10847184052857659065657942672799758;
    w[10] = 0.11336181654631966654944071844259815;
    w[11] = 0.11666044348529658204466250754036221;
    w[12] = 0.11832141527926227651637108570046868;
    w[13] = w[12];
    w[14] = w[11];
    w[15] = w[10];
    w[16] = w[9];
    w[17] = w[8];
    w[18] = w[7];
    w[19] = w[6];
    w[20] = w[5];
    w[21] = w[4];
    w[22] = w[3];
    w[23] = w[2];
    w[24] = w[1];
    w[25] = w[0];
  }
  //----------------------------------------------------------------------
  //
  // --- Number of Gauss Points = 27
  //
  else if(n==27){
    x[0]  = -0.99617926288898856693888720838122999;
    x[1]  = -0.97992347596150122285587335566104718;
    x[2]  = -0.95090055781470500685190803064388289;
    x[3]  = -0.90948232067749110430064501820968925;
    x[4]  = -0.8562079080182944903027372227068428;
    x[5]  = -0.79177163907050822714439734410727073;
    x[6]  = -0.71701347373942369929481621164233955;
    x[7]  = -0.63290797194649514092773463763448861;
    x[8]  = -0.54055156457945689490030094155998282;
    x[9]  = -0.44114825175002688058597415568928145;
    x[10] = -0.33599390363850889973031903420728454;
    x[11] = -0.22645936543953685885723910736023017;
    x[12] = -0.11397258560952996693289498386997663;
    x[13] = 0.0;
    x[14] = -x[12];
    x[15] = -x[11];
    x[16] = -x[10];
    x[17] = -x[9];
    x[18] = -x[8];
    x[19] = -x[7];
    x[20] = -x[6];
    x[21] = -x[5];
    x[22] = -x[4];
    x[23] = -x[3];
    x[24] = -x[2];
    x[25] = -x[1];
    x[26] = -x[0];
    w[0]  = 0.0097989960512943602611500550912590981;
    w[1]  = 0.022686231596180623196034206446761489;
    w[2]  = 0.035297053757419711022578289304711641;
    w[3]  = 0.047449412520615062704096710114184718;
    w[4]  = 0.058983536859833599110300833719531633;
    w[5]  = 0.069748823766245592984322888356667276;
    w[6]  = 0.079604867773057771263074959009842403;
    w[7]  = 0.088423158543756950194322802853749111;
    w[8]  = 0.096088727370028507565652646558105859;
    w[9]  = 0.10250163781774579867124771153266381;
    w[10] = 0.1075782857885331872121629844266574;
    w[11] = 0.11125248835684519267216309604284867;
    w[12] = 0.11347634610896514862036994809209926;
    w[13] = 0.11422086737895698904504573690183525;
    w[14] = w[12];
    w[15] = w[11];
    w[16] = w[10];
    w[17] = w[9];
    w[18] = w[8];
    w[19] = w[7];
    w[20] = w[6];
    w[21] = w[5];
    w[22] = w[4];
    w[23] = w[3];
    w[24] = w[2];
    w[25] = w[1];
    w[26] = w[0];
  }
  //----------------------------------------------------------------------
  //
  // --- Number of Gauss Points = 28
  //
  else if(n==28){
    x[0]  = -0.99644249757395444995043639048331099;
    x[1]  = -0.98130316537087275369455994580783028;
    x[2]  = -0.95425928062893819725410183970521559;
    x[3]  = -0.91563302639213207386968942332992715;
    x[4]  = -0.8658925225743950489422545673796868;
    x[5]  = -0.80564137091717917144788595542527766;
    x[6]  = -0.73561087801363177202814451029253437;
    x[7]  = -0.65665109403886496121989817650674282;
    x[8]  = -0.56972047181140171930800328335643093;
    x[9]  = -0.47587422495511826103441184766743404;
    x[10] = -0.37625151608907871022135720955608698;
    x[11] = -0.27206162763517807767682635612576973;
    x[12] = -0.16456928213338077128147177789116546;
    x[13] = -0.055079289884034270426516527341879978;
    x[14] = -x[13];
    x[15] = -x[12];
    x[16] = -x[11];
    x[17] = -x[10];
    x[18] = -x[9];
    x[19] = -x[8];
    x[20] = -x[7];
    x[21] = -x[6];
    x[22] = -x[5];
    x[23] = -x[4];
    x[24] = -x[3];
    x[25] = -x[2];
    x[26] = -x[1];
    x[27] = -x[0];
    w[0]  = 0.0091242825930945177388161539229517062;
    w[1]  = 0.021132112592771259751500380993265434;
    w[2]  = 0.032901427782304379977630819170532046;
    w[3]  = 0.044272934759004227839587877653207391;
    w[4]  = 0.055107345675716745431482918226945591;
    w[5]  = 0.065272923966999595793397566775504636;
    w[6]  = 0.074646214234568779023931887173022038;
    w[7]  = 0.08311341722890121839039649824433248;
    w[8]  = 0.09057174439303284094218603133678413;
    w[9]  = 0.096930657997929915850489006095440602;
    w[10] = 0.10211296757806076981421663850571214;
    w[11] = 0.10605576592284641791041643699681083;
    w[12] = 0.10871119225829413525357151930367337;
    w[13] = 0.11004701301647519628237626560181761;
    w[14] = w[13];
    w[15] = w[12];
    w[16] = w[11];
    w[17] = w[10];
    w[18] = w[9];
    w[19] = w[8];
    w[20] = w[7];
    w[21] = w[6];
    w[22] = w[5];
    w[23] = w[4];
    w[24] = w[3];
    w[25] = w[2];
    w[26] = w[1];
    w[27] = w[0];
  }
  //----------------------------------------------------------------------
  //
  // --- Number of Gauss Points = 29
  //
  else if(n==29){
    x[0]  = -0.99667944226059658616319153254935389;
    x[1]  = -0.98254550526141317487092601578637696;
    x[2]  = -0.95728559577808772579820803698082356;
    x[3]  = -0.92118023295305878509375343608310643;
    x[4]  = -0.87463780492010279041779342125657855;
    x[5]  = -0.81818548761525244498957221457878498;
    x[6]  = -0.75246285173447713391261007721213819;
    x[7]  = -0.67821453760268651515618500539198593;
    x[8]  = -0.59628179713822782037958621118898978;
    x[9]  = -0.50759295512422764210262791962752015;
    x[10] = -0.41315288817400866389070658603161682;
    x[11] = -0.31403163786763993494819592319104745;
    x[12] = -0.2113522861660010745063757289029375;
    x[13] = -0.10627823013267923017098239243037698;
    x[14] = 0.0;
    x[15] = -x[13];
    x[16] = -x[12];
    x[17] = -x[11];
    x[18] = -x[10];
    x[19] = -x[9];
    x[20] = -x[8];
    x[21] = -x[7];
    x[22] = -x[6];
    x[23] = -x[5];
    x[24] = -x[4];
    x[25] = -x[3];
    x[26] = -x[2];
    x[27] = -x[1];
    x[28] = -x[0];
    w[0]  = 0.008516903878746409654263813302249803;
    w[1]  = 0.019732085056122705983859801640395631;
    w[2]  = 0.03074049220209362264440852537461675;
    w[3]  = 0.041402062518682836104830010114076922;
    w[4]  = 0.051594826902497923912594381179542598;
    w[5]  = 0.061203090657079138542109848023907045;
    w[6]  = 0.070117933255051278569581486948879173;
    w[7]  = 0.078238327135763783828144888659680331;
    w[8]  = 0.085472257366172527545344849297208071;
    w[9]  = 0.091737757139258763347966411077110807;
    w[10] = 0.096963834094408606301900074882688759;
    w[11] = 0.10109127375991496612182054690749736;
    w[12] = 0.10407331007772937391332847128512007;
    w[13] = 0.10587615509732094140659132785218789;
    w[14] = 0.10647938171831424424651112690967757;
    w[15] = w[13];
    w[16] = w[12];
    w[17] = w[11];
    w[18] = w[10];
    w[19] = w[9];
    w[20] = w[8];
    w[21] = w[7];
    w[22] = w[6];
    w[23] = w[5];
    w[24] = w[4];
    w[25] = w[3];
    w[26] = w[2];
    w[27] = w[1];
    w[28] = w[0];
  }
  //----------------------------------------------------------------------
  //
  // --- Number of Gauss Points = 30
  //
  else if(n==30){
    x[0]  = -0.99689348407464954027163005091869528;
    x[1]  = -0.9836681232797472099700325816056628;
    x[2]  = -0.96002186496830751221687102558179766;
    x[3]  = -0.926200047429274325879324277080474;
    x[4]  = -0.88256053579205268154311646253022559;
    x[5]  = -0.82956576238276839744289811973250192;
    x[6]  = -0.76777743210482619491797734097450313;
    x[7]  = -0.69785049479331579693229238802664007;
    x[8]  = -0.6205261829892428611404775564311893;
    x[9]  = -0.53662414814201989926416979331107279;
    x[10] = -0.447033769538089176780609900322854;
    x[11] = -0.35270472553087811347103720708937386;
    x[12] = -0.25463692616788984643980512981780511;
    x[13] = -0.15386991360858354696379467274325592;
    x[14] = -0.051471842555317695833025213166722574;
    x[15] = -x[14];
    x[16] = -x[13];
    x[17] = -x[12];
    x[18] = -x[11];
    x[19] = -x[10];
    x[20] = -x[9];
    x[21] = -x[8];
    x[22] = -x[7];
    x[23] = -x[6];
    x[24] = -x[5];
    x[25] = -x[4];
    x[26] = -x[3];
    x[27] = -x[2];
    x[28] = -x[1];
    x[29] = -x[0];
    w[0]  = 0.0079681924961666056154658834746736225;
    w[1]  = 0.018466468311090959142302131912047269;
    w[2]  = 0.028784707883323369349719179611292044;
    w[3]  = 0.038799192569627049596801936446347692;
    w[4]  = 0.048402672830594052902938140422807518;
    w[5]  = 0.057493156217619066481721689402056129;
    w[6]  = 0.065974229882180495128128515115962361;
    w[7]  = 0.073755974737705206268243850022190734;
    w[8]  = 0.080755895229420215354694938460529731;
    w[9]  = 0.086899787201082979802387530715125703;
    w[10] = 0.092122522237786128717632707087618767;
    w[11] = 0.096368737174644259639468626351809865;
    w[12] = 0.099593420586795267062780282103569477;
    w[13] = 0.10176238974840550459642895216855404;
    w[14] = 0.10285265289355884034128563670541504;
    w[15] = w[14];
    w[16] = w[13];
    w[17] = w[12];
    w[18] = w[11];
    w[19] = w[10];
    w[20] = w[9];
    w[21] = w[8];
    w[22] = w[7];
    w[23] = w[6];
    w[24] = w[5];
    w[25] = w[4];
    w[26] = w[3];
    w[27] = w[2];
    w[28] = w[1];
    w[29] = w[0];
  }
  //----------------------------------------------------------------------
  //
  // --- Number of Gauss Points = 31
  //
  else if(n==31){
    x[0]  = -0.99708748181947707405562655422310251;
    x[1]  = -0.98468590966515248400246516673468471;
    x[2]  = -0.9625039250929496617890524041058583;
    x[3]  = -0.93075699789664816495694575972926351;
    x[4]  = -0.88976002994827104337419200898215926;
    x[5]  = -0.83992032014626734008690453594017836;
    x[6]  = -0.78173314841662494040636002019468449;
    x[7]  = -0.71577678458685328390597086536648596;
    x[8]  = -0.64270672292426034618441820323250145;
    x[9]  = -0.56324916140714926272094492359516143;
    x[10] = -0.47819378204490248044059403935648575;
    x[11] = -0.3883859016082329430613514612875201;
    x[12] = -0.29471806998170161661790389767170434;
    x[13] = -0.19812119933557062877241299603283394;
    x[14] = -0.099555312152341520325174790118940734;
    x[15] = 0.0;
    x[16] = -x[14];
    x[17] = -x[13];
    x[18] = -x[12];
    x[19] = -x[11];
    x[20] = -x[10];
    x[21] = -x[9];
    x[22] = -x[8];
    x[23] = -x[7];
    x[24] = -x[6];
    x[25] = -x[5];
    x[26] = -x[4];
    x[27] = -x[3];
    x[28] = -x[2];
    x[29] = -x[1];
    x[30] = -x[0];
    w[0]  = 0.007470831579248775858696875032212407;
    w[1]  = 0.017318620790310582463157996086821141;
    w[2]  = 0.027009019184979421800608708091932156;
    w[3]  = 0.036432273912385464024392010467803442;
    w[4]  = 0.045493707527201102902315857894629677;
    w[5]  = 0.054103082424916853711666259086620043;
    w[6]  = 0.062174786561028426910343543686696667;
    w[7]  = 0.069628583235410366167756126255125711;
    w[8]  = 0.076390386598776616426357674901330645;
    w[9]  = 0.082392991761589263903823367431961771;
    w[10] = 0.087576740608477876126198069695333092;
    w[11] = 0.091890113893641478215362871607150125;
    w[12] = 0.095290242912319512807204197487596685;
    w[13] = 0.097743335386328725093474010978996704;
    w[14] = 0.099225011226672307874875514428615014;
    w[15] = 0.09972054479342645142753383373434944;
    w[16] = w[14];
    w[17] = w[13];
    w[18] = w[12];
    w[19] = w[11];
    w[20] = w[10];
    w[21] = w[9];
    w[22] = w[8];
    w[23] = w[7];
    w[24] = w[6];
    w[25] = w[5];
    w[26] = w[4];
    w[27] = w[3];
    w[28] = w[2];
    w[29] = w[1];
    w[30] = w[0];
  }
  //----------------------------------------------------------------------
  //
  // --- Number of Gauss Points = 32
  //
  else if(n==32){
    x[0]  = -0.99726386184948156354498112866504073;
    x[1]  = -0.98561151154526833540017504463090198;
    x[2]  = -0.96476225558750643077381192811827496;
    x[3]  = -0.93490607593773968917091913483540933;
    x[4]  = -0.89632115576605212396530724371921227;
    x[5]  = -0.84936761373256997013369300496774254;
    x[6]  = -0.7944837959679424069630972989704289;
    x[7]  = -0.73218211874028968038742666509126715;
    x[8]  = -0.66304426693021520097511516866323837;
    x[9]  = -0.58771575724076232904074547640182686;
    x[10] = -0.50689990893222939002374747437782123;
    x[11] = -0.42135127613063534536411943617242648;
    x[12] = -0.331868602282127649779916805730188;
    x[13] = -0.23928736225213707454460320916550152;
    x[14] = -0.14447196158279649348518637359881065;
    x[15] = -0.048307665687738316234812570440502164;
    x[16] = -x[15];
    x[17] = -x[14];
    x[18] = -x[13];
    x[19] = -x[12];
    x[20] = -x[11];
    x[21] = -x[10];
    x[22] = -x[9];
    x[23] = -x[8];
    x[24] = -x[7];
    x[25] = -x[6];
    x[26] = -x[5];
    x[27] = -x[4];
    x[28] = -x[3];
    x[29] = -x[2];
    x[30] = -x[1];
    x[31] = -x[0];
    w[0]  = 0.0070186100094700966004070637388531825;
    w[1]  = 0.016274394730905670605170562206386618;
    w[2]  = 0.025392065309262059455752589789224029;
    w[3]  = 0.034273862913021433102687732252372707;
    w[4]  = 0.042835898022226680656878646606125528;
    w[5]  = 0.050998059262376176196163244689521695;
    w[6]  = 0.058684093478535547145283637300170887;
    w[7]  = 0.065822222776361846837650063706938773;
    w[8]  = 0.072345794108848506225399356478487792;
    w[9]  = 0.078193895787070306471740918828306671;
    w[10] = 0.083311924226946755222199074604348612;
    w[11] = 0.087652093004403811142771462751802288;
    w[12] = 0.091173878695763884712868577111637063;
    w[13] = 0.09384439908080456563918023766811726;
    w[14] = 0.095638720079274859419082002204131101;
    w[15] = 0.096540088514727800566764830063575795;
    w[16] = w[15];
    w[17] = w[14];
    w[18] = w[13];
    w[19] = w[12];
    w[20] = w[11];
    w[21] = w[10];
    w[22] = w[9];
    w[23] = w[8];
    w[24] = w[7];
    w[25] = w[6];
    w[26] = w[5];
    w[27] = w[4];
    w[28] = w[3];
    w[29] = w[2];
    w[30] = w[1];
    w[31] = w[0];
  }
  //----------------------------------------------------------------------
  //
  // --- Number of Gauss Points = 33
  //
  else if(n==33){
    x[0]  = -0.99742469424645521726616801758040416;
    x[1]  = -0.98645572623064248811037569826462592;
    x[2]  = -0.96682290968999276892837770667859225;
    x[3]  = -0.93869437261116835035583512436355371;
    x[4]  = -0.90231676774343358304053133151876161;
    x[5]  = -0.85800965267650406464306148014606847;
    x[6]  = -0.80616235627416658979620087078277718;
    x[7]  = -0.74723049644956215785905512489794827;
    x[8]  = -0.68173195996974278626821594691932813;
    x[9]  = -0.61024234583637902730728751353809743;
    x[10] = -0.53338990478634764354889426499549213;
    x[11] = -0.45185001727245069572599327724076705;
    x[12] = -0.36633925774807334107022062325387111;
    x[13] = -0.27760909715249702940324806729832101;
    x[14] = -0.18643929882799157233579875921882399;
    x[15] = -0.093631065854733385670742924122537721;
    x[16] = 0.0;
    x[17] = -x[15];
    x[18] = -x[14];
    x[19] = -x[13];
    x[20] = -x[12];
    x[21] = -x[11];
    x[22] = -x[10];
    x[23] = -x[9];
    x[24] = -x[8];
    x[25] = -x[7];
    x[26] = -x[6];
    x[27] = -x[5];
    x[28] = -x[4];
    x[29] = -x[3];
    x[30] = -x[2];
    x[31] = -x[1];
    x[32] = -x[0];
    w[0]  = 0.006606227847587378058649235208473855;
    w[1]  = 0.015321701512934676127945768533661867;
    w[2]  = 0.023915548101749480350533257529186242;
    w[3]  = 0.032300358632328953281561447249431288;
    w[4]  = 0.040401541331669591563409790527398496;
    w[5]  = 0.04814774281871169567014688013811965;
    w[6]  = 0.05547084663166356128494449543925911;
    w[7]  = 0.062306482530317480031627725770897611;
    w[8]  = 0.068594572818656712805955073014958652;
    w[9]  = 0.074279854843954149342472175918472047;
    w[10] = 0.079312364794886738363908384941997588;
    w[11] = 0.083647876067038707613928014517660597;
    w[12] = 0.087248287618844337607281670945446457;
    w[13] = 0.090081958660638577239743705500223621;
    w[14] = 0.092123986643316846213240977717363061;
    w[15] = 0.093356426065596116160999126274275465;
    w[16] = 0.093768446160209996567304541546348784;
    w[17] = w[15];
    w[18] = w[14];
    w[19] = w[13];
    w[20] = w[12];
    w[21] = w[11];
    w[22] = w[10];
    w[23] = w[9];
    w[24] = w[8];
    w[25] = w[7];
    w[26] = w[6];
    w[27] = w[5];
    w[28] = w[4];
    w[29] = w[3];
    w[30] = w[2];
    w[31] = w[1];
    w[32] = w[0];
  }
  //----------------------------------------------------------------------
  //
  // --- Number of Gauss Points = 34
  //
  else if(n==34){
    x[0]  = -0.99757175379084191924337243745462923;
    x[1]  = -0.98722781640630948504975043109968497;
    x[2]  = -0.96870826253334428176464657305599351;
    x[3]  = -0.9421623974051070916316760254605729;
    x[4]  = -0.90780967771832446880089988901928746;
    x[5]  = -0.86593463833456446926357209067129984;
    x[6]  = -0.81688422790093366459157890658697326;
    x[7]  = -0.76106487662987301418740896897873683;
    x[8]  = -0.69893911321626290793300010657577718;
    x[9]  = -0.63102172708052854531777575551900828;
    x[10] = -0.55787550066974664273645988621627458;
    x[11] = -0.48010654519032703419410268050739711;
    x[12] = -0.39835927775864594063149475293235153;
    x[13] = -0.31331108133946324745831676565097799;
    x[14] = -0.22566669161644948386864118093434724;
    x[15] = -0.13615235725918297589442882433111783;
    x[16] = -0.045509821953102542749075670851930164;
    x[17] = -x[16];
    x[18] = -x[15];
    x[19] = -x[14];
    x[20] = -x[13];
    x[21] = -x[12];
    x[22] = -x[11];
    x[23] = -x[10];
    x[24] = -x[9];
    x[25] = -x[8];
    x[26] = -x[7];
    x[27] = -x[6];
    x[28] = -x[5];
    x[29] = -x[4];
    x[30] = -x[3];
    x[31] = -x[2];
    x[32] = -x[1];
    x[33] = -x[0];
    w[0]  = 0.0062291405559086847186064610714377861;
    w[1]  = 0.014450162748595035415202210328746991;
    w[2]  = 0.022563721985494970084094088714954261;
    w[3]  = 0.030491380638446131809442387681317591;
    w[4]  = 0.038166593796387516321765920289976559;
    w[5]  = 0.045525611523353272453822563395270603;
    w[6]  = 0.0525074145726781061682459748424676;
    w[7]  = 0.059054135827524493193960972350526191;
    w[8]  = 0.065111521554076411378544430064893774;
    w[9]  = 0.070629375814255724999038796567685355;
    w[10] = 0.075561974660031931270833974228435724;
    w[11] = 0.079868444339771844738818832806437994;
    w[12] = 0.083513099699845655187020228046149391;
    w[13] = 0.08646573974703574978424685628074758;
    w[14] = 0.088701897835693869287076457364880713;
    w[15] = 0.090203044370640729573942242017493929;
    w[16] = 0.09095674033025987361533760394857796;
    w[17] = w[16];
    w[18] = w[15];
    w[19] = w[14];
    w[20] = w[13];
    w[21] = w[12];
    w[22] = w[11];
    w[23] = w[10];
    w[24] = w[9];
    w[25] = w[8];
    w[26] = w[7];
    w[27] = w[6];
    w[28] = w[5];
    w[29] = w[4];
    w[30] = w[3];
    w[31] = w[2];
    w[32] = w[1];
    w[33] = w[0];
  }
  //----------------------------------------------------------------------
  //
  // --- Number of Gauss Points = 35
  //
  else if(n==35){
    x[0]  = -0.99770656909960029726016313931209473;
    x[1]  = -0.98793576444385149803511708918548599;
    x[2]  = -0.97043761603922983321507048258477014;
    x[3]  = -0.94534514820782732953872598552997464;
    x[4]  = -0.91285426135931761446493706355576423;
    x[5]  = -0.87321912502522233152328234914138527;
    x[6]  = -0.82674989909222540683405061274855758;
    x[7]  = -0.77381025228691255526742300920988748;
    x[8]  = -0.71481450155662878326440863122444675;
    x[9]  = -0.65022436466589038867579280898455926;
    x[10] = -0.58054534474976450993450200818969007;
    x[11] = -0.50632277324148861502429755583732738;
    x[12] = -0.42813754151781425418762061300147986;
    x[13] = -0.34660155443081394587697983493023823;
    x[14] = -0.26235294120929605797089520045558051;
    x[15] = -0.17605106116598956997430365644505993;
    x[16] = -0.088371343275659263600929433497548803;
    x[17] = 0.0;
    x[18] = -x[16];
    x[19] = -x[15];
    x[20] = -x[14];
    x[21] = -x[13];
    x[22] = -x[12];
    x[23] = -x[11];
    x[24] = -x[10];
    x[25] = -x[9];
    x[26] = -x[8];
    x[27] = -x[7];
    x[28] = -x[6];
    x[29] = -x[5];
    x[30] = -x[4];
    x[31] = -x[3];
    x[32] = -x[2];
    x[33] = -x[1];
    x[34] = -x[0];
    w[0]  = 0.005883433420443084975753896240112624;
    w[1]  = 0.013650828348361492266404002920516384;
    w[2]  = 0.021322979911483580883437983966205078;
    w[3]  = 0.028829260108894254048716039714484916;
    w[4]  = 0.036110115863463380532716969647549938;
    w[5]  = 0.043108422326170218782306459374908203;
    w[6]  = 0.049769370401353529805199676084994959;
    w[7]  = 0.056040816212370128578327747165100964;
    w[8]  = 0.061873671966080188887014138788688652;
    w[9]  = 0.067222285269086903964305508748148559;
    w[10] = 0.072044794772560064665461909785277756;
    w[11] = 0.076303457155442053538658537884226226;
    w[12] = 0.079964942242324262932662080985045756;
    w[13] = 0.083000593728856588379926528216177003;
    w[14] = 0.085386653392099125225943987391117568;
    w[15] = 0.087104446997183534243322031605540937;
    w[16] = 0.088140530430275462970738807593096641;
    w[17] = 0.088486794907104290638207387777615669;
    w[18] = w[16];
    w[19] = w[15];
    w[20] = w[14];
    w[21] = w[13];
    w[22] = w[12];
    w[23] = w[11];
    w[24] = w[10];
    w[25] = w[9];
    w[26] = w[8];
    w[27] = w[7];
    w[28] = w[6];
    w[29] = w[5];
    w[30] = w[4];
    w[31] = w[3];
    w[32] = w[2];
    w[33] = w[1];
    w[34] = w[0];
  }
  //----------------------------------------------------------------------
  //
  // --- Number of Gauss Points = 36
  //
  else if(n==36){
    x[0]  = -0.99783046248408583619882834558075024;
    x[1]  = -0.98858647890221223807339510787710745;
    x[2]  = -0.97202769104969794933560504843110833;
    x[3]  = -0.94827298439950754520247411494522785;
    x[4]  = -0.9174977745156590660758672230261564;
    x[5]  = -0.87992980089039713198242733746583559;
    x[6]  = -0.83584716699247530641882087249860065;
    x[7]  = -0.7855762301322065128277689650802926;
    x[8]  = -0.72948917159355658209026047900610899;
    x[9]  = -0.66800123658552106209719134434091764;
    x[10] = -0.60156765813598053507994497507359475;
    x[11] = -0.53068028592624516164070908012156982;
    x[12] = -0.45586394443342026720721766932744093;
    x[13] = -0.37767254711968921632273638966990762;
    x[14] = -0.29668499534402827050323904774517045;
    x[15] = -0.21350089231686557894322622890271392;
    x[16] = -0.1287361038093847886519933880051523;
    x[17] = -0.043018198473708607226968978228363435;
    x[18] = -x[17];
    x[19] = -x[16];
    x[20] = -x[15];
    x[21] = -x[14];
    x[22] = -x[13];
    x[23] = -x[12];
    x[24] = -x[11];
    x[25] = -x[10];
    x[26] = -x[9];
    x[27] = -x[8];
    x[28] = -x[7];
    x[29] = -x[6];
    x[30] = -x[5];
    x[31] = -x[4];
    x[32] = -x[3];
    x[33] = -x[2];
    x[34] = -x[1];
    x[35] = -x[0];
    w[0]  = 0.0055657196642450453612559843905478374;
    w[1]  = 0.012915947284065574404503411497791649;
    w[2]  = 0.020181515297735471532098928958221127;
    w[3]  = 0.027298621498568779094417180867983358;
    w[4]  = 0.034213810770307229921245061562714554;
    w[5]  = 0.040875750923644895474114545143263192;
    w[6]  = 0.047235083490265978416616829616674832;
    w[7]  = 0.05324471397775991909202562828621965;
    w[8]  = 0.058860144245324817309675399818920036;
    w[9]  = 0.06403979735501548955638479862585634;
    w[10] = 0.068745323835736442613689639363613208;
    w[11] = 0.072941885005653061353873376941274218;
    w[12] = 0.076598410645870674528757733721501642;
    w[13] = 0.079687828912071601908724665501863907;
    w[14] = 0.082187266704339709517223473544942303;
    w[15] = 0.084078218979661934933457624291595821;
    w[16] = 0.085346685739338627491850543076489771;
    w[17] = 0.085983275670394747490085174790526554;
    w[18] = w[17];
    w[19] = w[16];
    w[20] = w[15];
    w[21] = w[14];
    w[22] = w[13];
    w[23] = w[12];
    w[24] = w[11];
    w[25] = w[10];
    w[26] = w[9];
    w[27] = w[8];
    w[28] = w[7];
    w[29] = w[6];
    w[30] = w[5];
    w[31] = w[4];
    w[32] = w[3];
    w[33] = w[2];
    w[34] = w[1];
    w[35] = w[0];
  }
  //----------------------------------------------------------------------
  //
  // --- Number of Gauss Points = 37
  //
  else if(n==37){
    x[0]  = -0.99794458247791364894080307431736328;
    x[1]  = -0.98918596321431918668409906058427231;
    x[2]  = -0.97349303005648574432889047566575934;
    x[3]  = -0.95097234326209482132857609681632593;
    x[4]  = -0.92178143741246374266814368670071349;
    x[5]  = -0.88612496215548607894614950901688644;
    x[6]  = -0.84425298734055596798745627617486023;
    x[7]  = -0.79645920050990229339304633550032452;
    x[8]  = -0.74307883398196526254704741747381288;
    x[9]  = -0.68448630913095935744552321243115371;
    x[10] = -0.62109260840892448314815259159505731;
    x[11] = -0.55334239186158178123509835822926447;
    x[12] = -0.48171087780320555414719286888263917;
    x[13] = -0.40670050931832611010093159161396661;
    x[14] = -0.32883742988370699949847180133994048;
    x[15] = -0.24866779279136575880556775148771622;
    x[16] = -0.16675393023985197696867173041182444;
    x[17] = -0.083670408954769901943048331736399178;
    x[18] = 0.0;
    x[19] = -x[17];
    x[20] = -x[16];
    x[21] = -x[15];
    x[22] = -x[14];
    x[23] = -x[13];
    x[24] = -x[12];
    x[25] = -x[11];
    x[26] = -x[10];
    x[27] = -x[9];
    x[28] = -x[8];
    x[29] = -x[7];
    x[30] = -x[6];
    x[31] = -x[5];
    x[32] = -x[4];
    x[33] = -x[3];
    x[34] = -x[2];
    x[35] = -x[1];
    x[36] = -x[0];
    w[0]  = 0.0052730572794979393517220542335303892;
    w[1]  = 0.012238780100307556526304852436346576;
    w[2]  = 0.019129044489083966043501947940106174;
    w[3]  = 0.025886036990558933522759481362487298;
    w[4]  = 0.032461639847521481067234253501458729;
    w[5]  = 0.03880960250193454448896237032847602;
    w[6]  = 0.04488536466243716665741030411019636;
    w[7]  = 0.050646297654824601603875863086716344;
    w[8]  = 0.056051987998274917808539239664252666;
    w[9]  = 0.061064516523225986130988104500496586;
    w[10] = 0.065648722872751249484023766297971218;
    w[11] = 0.069772451555700344885081356793019291;
    w[12] = 0.073406777248488172724626631519795465;
    w[13] = 0.076526207570529237885887991206622515;
    w[14] = 0.079108861837529380767212187396645239;
    w[15] = 0.081136624508465030509877601799792264;
    w[16] = 0.082595272236437250891230301152838471;
    w[17] = 0.083474573625862787252253009484518699;
    w[18] = 0.083768360993138904797017366369459392;
    w[19] = w[17];
    w[20] = w[16];
    w[21] = w[15];
    w[22] = w[14];
    w[23] = w[13];
    w[24] = w[12];
    w[25] = w[11];
    w[26] = w[10];
    w[27] = w[9];
    w[28] = w[8];
    w[29] = w[7];
    w[30] = w[6];
    w[31] = w[5];
    w[32] = w[4];
    w[33] = w[3];
    w[34] = w[2];
    w[35] = w[1];
    w[36] = w[0];
  }
  //----------------------------------------------------------------------
  //
  // --- Number of Gauss Points = 38
  //
  else if(n==38){
    x[0]  = -0.998049930535687619812847076551581;
    x[1]  = -0.98973945426638557194442589110567935;
    x[2]  = -0.97484632859015350764088554094638864;
    x[3]  = -0.95346633093352959567054215311744122;
    x[4]  = -0.92574133204858439682510956221305091;
    x[5]  = -0.89185573900463221679493703197391751;
    x[6]  = -0.85203502193236218885964971124727628;
    x[7]  = -0.80654416760531681555156537597969833;
    x[8]  = -0.75568590375397068073773809677938741;
    x[9]  = -0.69979868037918435591282584062741588;
    x[10] = -0.63925441582968170718034486950026027;
    x[11] = -0.57445602104780708113292750092447251;
    x[12] = -0.505834717927931103240533716467652;
    x[13] = -0.4338471694323764843732561625178422;
    x[14] = -0.35897244047943501325671762145653429;
    x[15] = -0.28170880979016526136011407141870008;
    x[16] = -0.20257045389211670320397778151460706;
    x[17] = -0.12208402533786741986961238132940712;
    x[18] = -0.040785147904578239913316432329784921;
    x[19] = -x[18];
    x[20] = -x[17];
    x[21] = -x[16];
    x[22] = -x[15];
    x[23] = -x[14];
    x[24] = -x[13];
    x[25] = -x[12];
    x[26] = -x[11];
    x[27] = -x[10];
    x[28] = -x[9];
    x[29] = -x[8];
    x[30] = -x[7];
    x[31] = -x[6];
    x[32] = -x[5];
    x[33] = -x[4];
    x[34] = -x[3];
    x[35] = -x[2];
    x[36] = -x[1];
    x[37] = -x[0];
    w[0]  = 0.0050028807496393456758995420918993705;
    w[1]  = 0.011613444716468674177668301200437427;
    w[2]  = 0.018156577709613236898876125754782202;
    w[3]  = 0.024579739738232375895201205446706287;
    w[4]  = 0.030839500545175054658731086313308689;
    w[5]  = 0.03689408159402473816494016233681495;
    w[6]  = 0.042703158504674434235878434358807709;
    w[7]  = 0.048228061860758683374352179911420224;
    w[8]  = 0.053432019910332319973756990631248756;
    w[9]  = 0.058280399146997206022305868258140056;
    w[10] = 0.062740933392133054052969671525137064;
    w[11] = 0.06678393797914041193504615152901926;
    w[12] = 0.070382507066898954739282967593658841;
    w[13] = 0.073512692584743457145206444848336479;
    w[14] = 0.076153663548446396065993541104472528;
    w[15] = 0.078287844658210948075375403335736263;
    w[16] = 0.079901033243527821586027683925185697;
    w[17] = 0.080982493770597100623269469949058142;
    w[18] = 0.081525029280385786699218769885830056;
    w[19] = w[18];
    w[20] = w[17];
    w[21] = w[16];
    w[22] = w[15];
    w[23] = w[14];
    w[24] = w[13];
    w[25] = w[12];
    w[26] = w[11];
    w[27] = w[10];
    w[28] = w[9];
    w[29] = w[8];
    w[30] = w[7];
    w[31] = w[6];
    w[32] = w[5];
    w[33] = w[4];
    w[34] = w[3];
    w[35] = w[2];
    w[36] = w[1];
    w[37] = w[0];
  }
  //----------------------------------------------------------------------
  //
  // --- Number of Gauss Points = 39
  //
  else if(n==39){
    x[0]  = -0.99814738306643290600547230285182044;
    x[1]  = -0.9902515368546859836397751172470782;
    x[2]  = -0.97609870933347105384485031988951849;
    x[3]  = -0.9557752123246522771108918971910822;
    x[4]  = -0.92940914848673822969781696435773456;
    x[5]  = -0.89716711929299288784829109086081365;
    x[6]  = -0.85925293799990615391379743912604237;
    x[7]  = -0.81590629743014310435323267840962983;
    x[8]  = -0.76740124293106349983227240422834295;
    x[9]  = -0.71404443589453467913386703615183079;
    x[10] = -0.65617321343201091073442593497625618;
    x[11] = -0.59415345495727798869289007461910607;
    x[12] = -0.52837726866043747389634363580822251;
    x[13] = -0.45926051230913604866324663310957236;
    x[14] = -0.3872401639715614558538819656369627;
    x[15] = -0.31277155924818592253599691178562874;
    x[16] = -0.23632551246183576733600632733265045;
    x[17] = -0.15838533999783779992270106136139938;
    x[18] = -0.079443804608755477581917083192640647;
    x[19] = 0.0;
    x[20] = -x[18];
    x[21] = -x[17];
    x[22] = -x[16];
    x[23] = -x[15];
    x[24] = -x[14];
    x[25] = -x[13];
    x[26] = -x[12];
    x[27] = -x[11];
    x[28] = -x[10];
    x[29] = -x[9];
    x[30] = -x[8];
    x[31] = -x[7];
    x[32] = -x[6];
    x[33] = -x[5];
    x[34] = -x[4];
    x[35] = -x[3];
    x[36] = -x[2];
    x[37] = -x[1];
    x[38] = -x[0];
    w[0]  = 0.004752944691635101370776213154906942;
    w[1]  = 0.011034788939164594242676805452177289;
    w[2]  = 0.017256229093724919040805471183355047;
    w[3]  = 0.023369384832178164594712344442924699;
    w[4]  = 0.029334955983903378592155986356251426;
    w[5]  = 0.035115111498131330761065185297232816;
    w[6]  = 0.040673276847933843939056556082261404;
    w[7]  = 0.045974301108916631884176639399232781;
    w[8]  = 0.050984665292129405214021033676581335;
    w[9]  = 0.055672690340916299907391139789681483;
    w[10] = 0.0600087360885961495749417735488195;
    w[11] = 0.063965388138682388986706404410063645;
    w[12] = 0.067517630966231265363021328046448594;
    w[13] = 0.070643005970608760770114931528131136;
    w[14] = 0.073321753414268617381153932865048306;
    w[15] = 0.075536937322836057704784446990809399;
    w[16] = 0.077274552544682016728511636733117299;
    w[17] = 0.078523613287371176725063300985523472;
    w[18] = 0.079276222568368471010155771754507931;
    w[19] = 0.079527622139442852417418196605850994;
    w[20] = w[18];
    w[21] = w[17];
    w[22] = w[16];
    w[23] = w[15];
    w[24] = w[14];
    w[25] = w[13];
    w[26] = w[12];
    w[27] = w[11];
    w[28] = w[10];
    w[29] = w[9];
    w[30] = w[8];
    w[31] = w[7];
    w[32] = w[6];
    w[33] = w[5];
    w[34] = w[4];
    w[35] = w[3];
    w[36] = w[2];
    w[37] = w[1];
    w[38] = w[0];
  }
  //----------------------------------------------------------------------
  //
  // --- Number of Gauss Points = 40
  //
  else if(n==40){
    x[0]  = -0.99823770971055920034962270242058649;
    x[1]  = -0.99072623869945700645305435222137215;
    x[2]  = -0.97725994998377426266337028371290381;
    x[3]  = -0.95791681921379165580454099945275929;
    x[4]  = -0.93281280827867653336085216684520572;
    x[5]  = -0.9020988069688742967282533308684931;
    x[6]  = -0.86595950321225950382078180835461996;
    x[7]  = -0.82461223083331166319632023066609877;
    x[8]  = -0.77830565142651938769497154550649485;
    x[9]  = -0.72731825518992710328099645175493055;
    x[10] = -0.67195668461417954837935451496149411;
    x[11] = -0.61255388966798023795261245023069488;
    x[12] = -0.54946712509512820207593130552951797;
    x[13] = -0.483075801686178712908566574244823;
    x[14] = -0.41377920437160500152487974580371368;
    x[15] = -0.34199409082575847300749248117919431;
    x[16] = -0.26815218500725368114118434480859618;
    x[17] = -0.19269758070137109971551685206514989;
    x[18] = -0.11608407067525520848345128440802411;
    x[19] = -0.038772417506050821933193444024623295;
    x[20] = -x[19];
    x[21] = -x[18];
    x[22] = -x[17];
    x[23] = -x[16];
    x[24] = -x[15];
    x[25] = -x[14];
    x[26] = -x[13];
    x[27] = -x[12];
    x[28] = -x[11];
    x[29] = -x[10];
    x[30] = -x[9];
    x[31] = -x[8];
    x[32] = -x[7];
    x[33] = -x[6];
    x[34] = -x[5];
    x[35] = -x[4];
    x[36] = -x[3];
    x[37] = -x[2];
    x[38] = -x[1];
    x[39] = -x[0];
    w[0]  = 0.0045212770985331912584717328781853327;
    w[1]  = 0.010498284531152813614742171067279652;
    w[2]  = 0.016421058381907888712863484882363927;
    w[3]  = 0.022245849194166957261504324184208573;
    w[4]  = 0.027937006980023401098489157507721077;
    w[5]  = 0.033460195282547847392678183086410849;
    w[6]  = 0.038782167974472017639972031290446162;
    w[7]  = 0.043870908185673271991674686041715496;
    w[8]  = 0.048695807635072232061434160448146388;
    w[9]  = 0.053227846983936824354996479772260505;
    w[10] = 0.057439769099391551366617730910425986;
    w[11] = 0.061306242492928939166537996408398596;
    w[12] = 0.06480401345660103807455452956675273;
    w[13] = 0.067912045815233903825690108231923986;
    w[14] = 0.070611647391286779695483630855286832;
    w[15] = 0.072886582395804059060510683442517836;
    w[16] = 0.074723169057968264200189336261324673;
    w[17] = 0.076110361900626242371558075922494823;
    w[18] = 0.077039818164247965588307534283810249;
    w[19] = 0.077505947978424811263723962958326327;
    w[20] = w[19];
    w[21] = w[18];
    w[22] = w[17];
    w[23] = w[16];
    w[24] = w[15];
    w[25] = w[14];
    w[26] = w[13];
    w[27] = w[12];
    w[28] = w[11];
    w[29] = w[10];
    w[30] = w[9];
    w[31] = w[8];
    w[32] = w[7];
    w[33] = w[6];
    w[34] = w[5];
    w[35] = w[4];
    w[36] = w[3];
    w[37] = w[2];
    w[38] = w[1];
    w[39] = w[0];
  }
  //----------------------------------------------------------------------
  //
  // --- Number of Gauss Points = 41
  //
  else if(n==41){
    x[0]  = -0.99832158857477144151918850808837757;
    x[1]  = -0.99116710969901630825015889457316966;
    x[2]  = -0.9783386735610833844691707066739672;
    x[3]  = -0.95990689173034622609944169606868658;
    x[4]  = -0.93597698749785382568231827528476627;
    x[5]  = -0.90668594475810117295834041323072297;
    x[6]  = -0.87220151169244140883367057423432946;
    x[7]  = -0.8327212004013613312442727790485438;
    x[8]  = -0.78847114504740937273622178146677029;
    x[9]  = -0.739704803069926181060168744468559;
    x[10] = -0.68670150203495128958460385652913481;
    x[11] = -0.6297648390721963204886490916951035;
    x[12] = -0.56922094161021586965474721528298025;
    x[13] = -0.50541659919940603270833607020269476;
    x[14] = -0.43871727705140708851711985672803925;
    x[15] = -0.36950502264048144142836691329993521;
    x[16] = -0.2981762773418248659229828804789243;
    x[17] = -0.22513960563342277560578625665547233;
    x[18] = -0.15081335486399216357437796788458238;
    x[19] = -0.075623258989162996923766193651200267;
    x[20] = 0.0;
    x[21] = -x[19];
    x[22] = -x[18];
    x[23] = -x[17];
    x[24] = -x[16];
    x[25] = -x[15];
    x[26] = -x[14];
    x[27] = -x[13];
    x[28] = -x[12];
    x[29] = -x[11];
    x[30] = -x[10];
    x[31] = -x[9];
    x[32] = -x[8];
    x[33] = -x[7];
    x[34] = -x[6];
    x[35] = -x[5];
    x[36] = -x[4];
    x[37] = -x[3];
    x[38] = -x[2];
    x[39] = -x[1];
    x[40] = -x[0];
    w[0]  = 0.0043061403581648876840044779046544862;
    w[1]  = 0.0099999387739059453384962966296988396;
    w[2]  = 0.015644938407818588530826844479533677;
    w[3]  = 0.021201063368779553075697033493376627;
    w[4]  = 0.026635899207110445467548575258713277;
    w[5]  = 0.031918211731699281787066946857145544;
    w[6]  = 0.037017716703507988435261251580160669;
    w[7]  = 0.041905195195909689429340274311048838;
    w[8]  = 0.046552648369014342060756586864611423;
    w[9]  = 0.050933454294617494781170357115688631;
    w[10] = 0.05502251924257874188014681017142227;
    w[11] = 0.058796420949871944991185853380734274;
    w[12] = 0.062233542580966316471573417083346485;
    w[13] = 0.06531419645352741043616371265379634;
    w[14] = 0.068020736760876766735533239726248928;
    w[15] = 0.070337660620817497481658989969881456;
    w[16] = 0.072251696861023073396346398348787355;
    w[17] = 0.073751882027223469939280818324848679;
    w[18] = 0.074829623176221551891305072633505323;
    w[19] = 0.075478747092715824027247062674616749;
    w[20] = 0.075695535647298372318779961076360256;
    w[21] = w[19];
    w[22] = w[18];
    w[23] = w[17];
    w[24] = w[16];
    w[25] = w[15];
    w[26] = w[14];
    w[27] = w[13];
    w[28] = w[12];
    w[29] = w[11];
    w[30] = w[10];
    w[31] = w[9];
    w[32] = w[8];
    w[33] = w[7];
    w[34] = w[6];
    w[35] = w[5];
    w[36] = w[4];
    w[37] = w[3];
    w[38] = w[2];
    w[39] = w[1];
    w[40] = w[0];
  }
  //----------------------------------------------------------------------
  //
  // --- Number of Gauss Points = 42
  //
  else if(n==42){
    x[0]  = -0.99839961899006241502286812684705028;
    x[1]  = -0.99157728834086091979236125328086883;
    x[2]  = -0.9793425080637481937089825665428561;
    x[3]  = -0.96175936533820448874692715785332268;
    x[4]  = -0.93892355735498817853317343362559197;
    x[5]  = -0.91095972490412745258384787920850654;
    x[6]  = -0.87802056981217274271198510347862353;
    x[7]  = -0.84028598326181690092543999508609982;
    x[8]  = -0.79796205325548741323270595254637666;
    x[9]  = -0.75127993568948048956847217591465866;
    x[10] = -0.70049459055617121374156992905546553;
    x[11] = -0.6458833888692478339574963037184117;
    x[12] = -0.58774459748510932284071134547399572;
    x[13] = -0.52639574993119228759286755879190146;
    x[14] = -0.46217191207042192975907502993063599;
    x[15] = -0.39542385204297505767709395459437198;
    x[16] = -0.32651612446541151219715658937546567;
    x[17] = -0.25582507934287908396641479101870845;
    x[18] = -0.18373680656485455085275563938074294;
    x[19] = -0.110645027208519868349122545002641;
    x[20] = -0.036948943165351775813095980037559427;
    x[21] = -x[20];
    x[22] = -x[19];
    x[23] = -x[18];
    x[24] = -x[17];
    x[25] = -x[16];
    x[26] = -x[15];
    x[27] = -x[14];
    x[28] = -x[13];
    x[29] = -x[12];
    x[30] = -x[11];
    x[31] = -x[10];
    x[32] = -x[9];
    x[33] = -x[8];
    x[34] = -x[7];
    x[35] = -x[6];
    x[36] = -x[5];
    x[37] = -x[4];
    x[38] = -x[3];
    x[39] = -x[2];
    x[40] = -x[1];
    x[41] = -x[0];
    w[0]  = 0.0041059986046490846106027794968359627;
    w[1]  = 0.0095362203017485024118201002926979982;
    w[2]  = 0.014922443697357494144677678105865768;
    w[3]  = 0.020227869569052644757055719079354185;
    w[4]  = 0.025422959526113047886742442909430864;
    w[5]  = 0.030479240699603468362904733523392398;
    w[6]  = 0.035369071097592110832662181126507542;
    w[7]  = 0.040065735180692261760596124830036935;
    w[8]  = 0.044543577771965877874316365985234241;
    w[9]  = 0.048778140792803245027449363128402724;
    w[10] = 0.052746295699174070343942539044097477;
    w[11] = 0.056426369358018381646426855139695689;
    w[12] = 0.059798262227586654312831545753534852;
    w[13] = 0.062843558045002576409318251323779889;
    w[14] = 0.065545624364908978927005107851794426;
    w[15] = 0.067889703376521944855363402213766307;
    w[16] = 0.069862992492594159766154786381482204;
    w[17] = 0.071454714265170982921810444117462155;
    w[18] = 0.072656175243804104887905761492533031;
    w[19] = 0.073460813453467528264028257054303939;
    w[20] = 0.073864234232172879996385561149791413;
    w[21] = w[20];
    w[22] = w[19];
    w[23] = w[18];
    w[24] = w[17];
    w[25] = w[16];
    w[26] = w[15];
    w[27] = w[14];
    w[28] = w[13];
    w[29] = w[12];
    w[30] = w[11];
    w[31] = w[10];
    w[32] = w[9];
    w[33] = w[8];
    w[34] = w[7];
    w[35] = w[6];
    w[36] = w[5];
    w[37] = w[4];
    w[38] = w[3];
    w[39] = w[2];
    w[40] = w[1];
    w[41] = w[0];
  }
  //----------------------------------------------------------------------
  //
  // --- Number of Gauss Points = 43
  //
  else if(n==43){
    x[0]  = -0.99847233224250771351763618731839241;
    x[1]  = -0.99195955759324414642071834132961802;
    x[2]  = -0.98027822098025533150552938218113639;
    x[3]  = -0.96348661301407999341019496357424394;
    x[4]  = -0.94167195684763786181847739039793827;
    x[5]  = -0.91494790720613872945610287079928562;
    x[6]  = -0.88345376521861686333767801164216742;
    x[7]  = -0.84735371620931504899908608582179252;
    x[8]  = -0.80683596413693863527907474087751213;
    x[9]  = -0.76211174719495512146032846302904619;
    x[10] = -0.7134142352689570548519208779909041;
    x[11] = -0.66099731375149813316513476374134539;
    x[12] = -0.60513425963960093572508307112395522;
    x[13] = -0.54611631666008471914040504717966084;
    x[14] = -0.48425117678573472406963343474851378;
    x[15] = -0.41986137602926925248727939456056803;
    x[16] = -0.35328261286430380664547636414346787;
    x[17] = -0.28486199803291362710572289483833793;
    x[18] = -0.21495624486051820901487838147367495;
    x[19] = -0.14392980951071331077029993761074469;
    x[20] = -0.072152990874586235422327250955561095;
    x[21] = 0.0;
    x[22] = -x[20];
    x[23] = -x[19];
    x[24] = -x[18];
    x[25] = -x[17];
    x[26] = -x[16];
    x[27] = -x[15];
    x[28] = -x[14];
    x[29] = -x[13];
    x[30] = -x[12];
    x[31] = -x[11];
    x[32] = -x[10];
    x[33] = -x[9];
    x[34] = -x[8];
    x[35] = -x[7];
    x[36] = -x[6];
    x[37] = -x[5];
    x[38] = -x[4];
    x[39] = -x[3];
    x[40] = -x[2];
    x[41] = -x[1];
    x[42] = -x[0];
    w[0]  = 0.0039194902538441272829671651925764354;
    w[1]  = 0.0091039966374014033188686082958967238;
    w[2]  = 0.014248756431576486108541601722004194;
    w[3]  = 0.019319901423683900396124610892071352;
    w[4]  = 0.024290456613838815902018324254249248;
    w[5]  = 0.029134413261498494915940424825781194;
    w[6]  = 0.033826492086860292344968475753802091;
    w[7]  = 0.038342222194132657572128424662849115;
    w[8]  = 0.042658057197982083763807205338513894;
    w[9]  = 0.046751494754346580010646766337102934;
    w[10] = 0.050601192784390156523850398953014746;
    w[11] = 0.054187080318881786863373178326265414;
    w[12] = 0.057490461956910519427608916844416512;
    w[13] = 0.060494115249991294519678741991362793;
    w[14] = 0.063182380449396112325629817773408264;
    w[15] = 0.06554124212632279749123376424920783;
    w[16] = 0.067558402229365169192407904756265592;
    w[17] = 0.069223344193656684282299479122635148;
    w[18] = 0.070527387765085028126286355477940743;
    w[19] = 0.071463734252514141297581117702910249;
    w[20] = 0.072027501971421974345307551670857088;
    w[21] = 0.07221575169379898797746233171373688;
    w[22] = w[20];
    w[23] = w[19];
    w[24] = w[18];
    w[25] = w[17];
    w[26] = w[16];
    w[27] = w[15];
    w[28] = w[14];
    w[29] = w[13];
    w[30] = w[12];
    w[31] = w[11];
    w[32] = w[10];
    w[33] = w[9];
    w[34] = w[8];
    w[35] = w[7];
    w[36] = w[6];
    w[37] = w[5];
    w[38] = w[4];
    w[39] = w[3];
    w[40] = w[2];
    w[41] = w[1];
    w[42] = w[0];
  }
  //----------------------------------------------------------------------
  //
  // --- Number of Gauss Points = 44
  //
  else if(n==44){
    x[0]  = -0.99854020063677422493605672060665035;
    x[1]  = -0.99231639213851580848333800361353857;
    x[2]  = -0.98115183307791396666274900535048783;
    x[3]  = -0.96509965042249313939439805058023497;
    x[4]  = -0.94423950911819409920325465302698925;
    x[5]  = -0.91867525998417577432300108669425205;
    x[6]  = -0.88853423828604320233836791019032232;
    x[7]  = -0.85396659500471037872830224129268389;
    x[8]  = -0.81514453964513501048743763575194055;
    x[9]  = -0.77226147924875589901775854923198801;
    x[10] = -0.72553105366071700260696493671995361;
    x[11] = -0.67518607066612236533369903856389992;
    x[12] = -0.62147734590357584780242469912176675;
    x[13] = -0.56467245318547076842463681938207522;
    x[14] = -0.50505439138820231798279835229117724;
    x[15] = -0.44292017452541148383482659364731355;
    x[16] = -0.37857935201470713251176467277219786;
    x[17] = -0.31235246650278581223654516357297854;
    x[18] = -0.24456945692820125150730243474051862;
    x[19] = -0.17556801477551678574650774938097659;
    x[20] = -0.10569190170865324711730584891512175;
    x[21] = -0.035289236964135359058196704631416356;
    x[22] = -x[21];
    x[23] = -x[20];
    x[24] = -x[19];
    x[25] = -x[18];
    x[26] = -x[17];
    x[27] = -x[16];
    x[28] = -x[15];
    x[29] = -x[14];
    x[30] = -x[13];
    x[31] = -x[12];
    x[32] = -x[11];
    x[33] = -x[10];
    x[34] = -x[9];
    x[35] = -x[8];
    x[36] = -x[7];
    x[37] = -x[6];
    x[38] = -x[5];
    x[39] = -x[4];
    x[40] = -x[3];
    x[41] = -x[2];
    x[42] = -x[1];
    x[43] = -x[0];
    w[0]  = 0.0037454048031127775151737788317615385;
    w[1]  = 0.0087004813675248441225656234243131402;
    w[2]  = 0.013619586755579985520205066390061379;
    w[3]  = 0.018471481736814749172042223743399844;
    w[4]  = 0.023231481902019210628958262938731417;
    w[5]  = 0.027875782821281010081114291779387064;
    w[6]  = 0.032381222812069820880846939540111601;
    w[7]  = 0.0367253478138088736429092923487018;
    w[8]  = 0.040886512310346218908447169283068487;
    w[9]  = 0.044843984081970031446243186403051107;
    w[10] = 0.048578046448352037527639436691292738;
    w[11] = 0.052070096091704461881231802993198751;
    w[12] = 0.055302735563728052548746632643152991;
    w[13] = 0.058259859877595495334210689844277168;
    w[14] = 0.060926736701561968038557836874374101;
    w[15] = 0.063290079733203854950138871019714931;
    w[16] = 0.065338114879181434984240894845622189;
    w[17] = 0.067060638906293652395704919351719351;
    w[18] = 0.068449070269366660985458660704349872;
    w[19] = 0.069496491861572578037084090925011257;
    w[20] = 0.070197685473558212587142041944399388;
    w[21] = 0.070549157789354068811338287480299885;
    w[22] = w[21];
    w[23] = w[20];
    w[24] = w[19];
    w[25] = w[18];
    w[26] = w[17];
    w[27] = w[16];
    w[28] = w[15];
    w[29] = w[14];
    w[30] = w[13];
    w[31] = w[12];
    w[32] = w[11];
    w[33] = w[10];
    w[34] = w[9];
    w[35] = w[8];
    w[36] = w[7];
    w[37] = w[6];
    w[38] = w[5];
    w[39] = w[4];
    w[40] = w[3];
    w[41] = w[2];
    w[42] = w[1];
    w[43] = w[0];
  }
  //----------------------------------------------------------------------
  //
  // --- Number of Gauss Points = 45
  //
  else if(n==45){
    x[0]  = -0.99860364518193663815654767690082055;
    x[1]  = -0.99264999844720374174861712059773534;
    x[2]  = -0.98196871503454056823931847363434148;
    x[3]  = -0.9666083103968946047364251608924781;
    x[4]  = -0.94664169099562906178472059695383708;
    x[5]  = -0.92216393671900038809746736096052732;
    x[6]  = -0.89329167175324173846464905149305735;
    x[7]  = -0.86016247596066422533907887056713439;
    x[8]  = -0.82293422050208633703577526002650203;
    x[9]  = -0.78178431259390629131236318809860282;
    x[10] = -0.73690884894549035262373884859489202;
    x[11] = -0.68852168077120052523201982588043824;
    x[12] = -0.63685339445322335927122384590338315;
    x[13] = -0.58215021256935318668096733444417713;
    x[14] = -0.5246728204629160670911341004601624;
    x[15] = -0.46469512391963509857960150230974851;
    x[16] = -0.40250294385854191407797450854834646;
    x[17] = -0.33839265425060216164340410003187299;
    x[18] = -0.27266976975237756060876539161564518;
    x[19] = -0.20564748978326374571978722547154393;
    x[20] = -0.13764520598325302875659004142306555;
    x[21] = -0.06898698016314417249041461410381173;
    x[22] = 0.0;
    x[23] = -x[21];
    x[24] = -x[20];
    x[25] = -x[19];
    x[26] = -x[18];
    x[27] = -x[17];
    x[28] = -x[16];
    x[29] = -x[15];
    x[30] = -x[14];
    x[31] = -x[13];
    x[32] = -x[12];
    x[33] = -x[11];
    x[34] = -x[10];
    x[35] = -x[9];
    x[36] = -x[8];
    x[37] = -x[7];
    x[38] = -x[6];
    x[39] = -x[5];
    x[40] = -x[4];
    x[41] = -x[3];
    x[42] = -x[2];
    x[43] = -x[1];
    x[44] = -x[0];
    w[0]  = 0.0035826631552835589311430286593513926;
    w[1]  = 0.0083231892962182416457358531222338538;
    w[2]  = 0.013031104991582784320631082469686926;
    w[3]  = 0.017677535257937590617092546669577089;
    w[4]  = 0.022239847550578732393950758552168993;
    w[5]  = 0.026696213967577664805674778793107528;
    w[6]  = 0.031025374934515467162507938893768064;
    w[7]  = 0.035206692201609016247699798261575091;
    w[8]  = 0.039220236729302447564187185343929338;
    w[9]  = 0.043046880709164971151691113081166942;
    w[10] = 0.046668387718373365267768475741654101;
    w[11] = 0.050067499237952029799132102474874317;
    w[12] = 0.053228016731268951945904044019310404;
    w[13] = 0.056134878759786476643923940374869763;
    w[14] = 0.058774232718841738574361517631831423;
    w[15] = 0.061133500831066522501886370536325573;
    w[16] = 0.063201440073819937749963730290666882;
    w[17] = 0.064968195750723430853826570359075695;
    w[18] = 0.066425348449842528082914715639103738;
    w[19] = 0.067565954163607536270910223873648631;
    w[20] = 0.068384577378669674531692099334316097;
    w[21] = 0.068877316977661322882002848298055789;
    w[22] = 0.069041824829232020110798555159404741;
    w[23] = w[21];
    w[24] = w[20];
    w[25] = w[19];
    w[26] = w[18];
    w[27] = w[17];
    w[28] = w[16];
    w[29] = w[15];
    w[30] = w[14];
    w[31] = w[13];
    w[32] = w[12];
    w[33] = w[11];
    w[34] = w[10];
    w[35] = w[9];
    w[36] = w[8];
    w[37] = w[7];
    w[38] = w[6];
    w[39] = w[5];
    w[40] = w[4];
    w[41] = w[3];
    w[42] = w[2];
    w[43] = w[1];
    w[44] = w[0];
  }
  //----------------------------------------------------------------------
  //
  // --- Number of Gauss Points = 46
  //
  else if(n==46){
    x[0]  = -0.99866304213381798112826841739088877;
    x[1]  = -0.99296234890617436407309544466619341;
    x[2]  = -0.98273366980416686347797957965918872;
    x[3]  = -0.96802139185399194273774806637181551;
    x[4]  = -0.94889236344608979562221353943691414;
    x[5]  = -0.92543379880675395097749135769912426;
    x[6]  = -0.89775271153394196570131995131978129;
    x[7]  = -0.86597539486685806291588877681659844;
    x[8]  = -0.83024683706606605303238530479080612;
    x[9]  = -0.79073005707527425518914414742030241;
    x[10] = -0.74760535961566605400033650526800287;
    x[11] = -0.70106951202040569751212208942650045;
    x[12] = -0.65133484620199771510647715581685937;
    x[13] = -0.59862828971271515317717253360016731;
    x[14] = -0.54319033026180263527096269102887684;
    x[15] = -0.48527391838816466277232019370845481;
    x[16] = -0.42514331328282839732214686342856742;
    x[17] = -0.36307287702099571012370697851465169;
    x[18] = -0.29934582270187001548343925657790393;
    x[19] = -0.23425292220626976862605611557379249;
    x[20] = -0.16809117946710352860679673742770213;
    x[21] = -0.10116247530558423951585965700864939;
    x[22] = -0.033772190016052041519557831891439764;
    x[23] = -x[22];
    x[24] = -x[21];
    x[25] = -x[20];
    x[26] = -x[19];
    x[27] = -x[18];
    x[28] = -x[17];
    x[29] = -x[16];
    x[30] = -x[15];
    x[31] = -x[14];
    x[32] = -x[13];
    x[33] = -x[12];
    x[34] = -x[11];
    x[35] = -x[10];
    x[36] = -x[9];
    x[37] = -x[8];
    x[38] = -x[7];
    x[39] = -x[6];
    x[40] = -x[5];
    x[41] = -x[4];
    x[42] = -x[3];
    x[43] = -x[2];
    x[44] = -x[1];
    x[45] = -x[0];
    w[0]  = 0.0034303008681070482860187831480434044;
    w[1]  = 0.0079698982297246224516130389263249654;
    w[2]  = 0.012479883770988684206734571750983375;
    w[3]  = 0.016933514007836238046230713671760431;
    w[4]  = 0.021309998754136501054479361070878402;
    w[5]  = 0.025589286397130010634699512200344028;
    w[6]  = 0.029751829552202755799051729235722937;
    w[7]  = 0.033778627999106896520603893881145329;
    w[8]  = 0.037651305357386071327660799228459117;
    w[9]  = 0.041352190109678729704220175870231478;
    w[10] = 0.044864395277318126767094613562774856;
    w[11] = 0.048171895101712200530468863223220937;
    w[12] = 0.051259598007143021335365299371448033;
    w[13] = 0.054113415385856754491637643259223075;
    w[14] = 0.056720325843991235816874403603286715;
    w[15] = 0.059068434595546314807550722636907737;
    w[16] = 0.061147027724650481015356607904191038;
    w[17] = 0.062946621064394508178951952247110931;
    w[18] = 0.064459003467139069588279439108255064;
    w[19] = 0.065677274267781207378757565685555768;
    w[20] = 0.066595874768454887375761966422733702;
    w[21] = 0.067210613600678175862374154827097596;
    w[22] = 0.06751868584903645882021418916430108;
    w[23] = w[22];
    w[24] = w[21];
    w[25] = w[20];
    w[26] = w[19];
    w[27] = w[18];
    w[28] = w[17];
    w[29] = w[16];
    w[30] = w[15];
    w[31] = w[14];
    w[32] = w[13];
    w[33] = w[12];
    w[34] = w[11];
    w[35] = w[10];
    w[36] = w[9];
    w[37] = w[8];
    w[38] = w[7];
    w[39] = w[6];
    w[40] = w[5];
    w[41] = w[4];
    w[42] = w[3];
    w[43] = w[2];
    w[44] = w[1];
    w[45] = w[0];
  }
  //----------------------------------------------------------------------
  //
  // --- Number of Gauss Points = 47
  //
  else if(n==47){
    x[0]  = -0.99871872858421210918394771478710849;
    x[1]  = -0.99325521098776863469218968463246361;
    x[2]  = -0.98345100307162370876490103403616985;
    x[3]  = -0.96934678732656449714574427756027081;
    x[4]  = -0.95100396925770844258980292385144242;
    x[5]  = -0.92850269301236064819718492461132098;
    x[6]  = -0.90194132943852535686717130197743564;
    x[7]  = -0.87143601579689631694098546455560617;
    x[8]  = -0.83712013989990212127759894856635236;
    x[9]  = -0.79914375416774194291556206920359301;
    x[10] = -0.7576729184454386335739965235696822;
    x[11] = -0.71288897340906430166187932777101881;
    x[12] = -0.66498774739033272913670264857208906;
    x[13] = -0.61417869995637360859546254260425369;
    x[14] = -0.56068400593466419448305831741826879;
    x[15] = -0.50473758386357791977428902535130109;
    x[16] = -0.44658407310485570272518214234940796;
    x[17] = -0.38647776408466713958330238760602327;
    x[18] = -0.32468148633773590221076129917999684;
    x[19] = -0.26146545921497457030698296620517097;
    x[20] = -0.19710611027911180796149135837050462;
    x[21] = -0.13188486655451489705382353072412724;
    x[22] = -0.066086923916355675160473777474133709;
    x[23] = 0.0;
    x[24] = -x[22];
    x[25] = -x[21];
    x[26] = -x[20];
    x[27] = -x[19];
    x[28] = -x[18];
    x[29] = -x[17];
    x[30] = -x[16];
    x[31] = -x[15];
    x[32] = -x[14];
    x[33] = -x[13];
    x[34] = -x[12];
    x[35] = -x[11];
    x[36] = -x[10];
    x[37] = -x[9];
    x[38] = -x[8];
    x[39] = -x[7];
    x[40] = -x[6];
    x[41] = -x[5];
    x[42] = -x[4];
    x[43] = -x[3];
    x[44] = -x[2];
    x[45] = -x[1];
    x[46] = -x[0];
    w[0]  = 0.0032874538425280148832499642083361799;
    w[1]  = 0.0076386162958488336141043567711316555;
    w[2]  = 0.011962848464312320963943454849948513;
    w[3]  = 0.016235333146433059670725687407898621;
    w[4]  = 0.020436938147668427642034760686255386;
    w[5]  = 0.024549211659658818537834157152505767;
    w[6]  = 0.028554150700643386504739924625811082;
    w[7]  = 0.032434235515184756767617463174170159;
    w[8]  = 0.036172496584174951613459929766311249;
    w[9]  = 0.039752586122531003780901380141961017;
    w[10] = 0.04315884864847953826830179344650314;
    w[11] = 0.046376389086505911204401848242745093;
    w[12] = 0.049391137747361169604570485862004923;
    w[13] = 0.052189911780057144872211941709676078;
    w[14] = 0.054760472781530225957125176888504806;
    w[15] = 0.057091580293231540222016605308382773;
    w[16] = 0.059173040942338875976154556385741292;
    w[17] = 0.060995753008739645330710578133437521;
    w[18] = 0.062551746220921662640564381449953537;
    w[19] = 0.063834216605717030631293779855813533;
    w[20] = 0.064837556238945726702603939110806019;
    w[21] = 0.065557377766549740251143002326075912;
    w[22] = 0.06599053358881047453357065533049826;
    w[23] = 0.066135129623655479653440354331054971;
    w[24] = w[22];
    w[25] = w[21];
    w[26] = w[20];
    w[27] = w[19];
    w[28] = w[18];
    w[29] = w[17];
    w[30] = w[16];
    w[31] = w[15];
    w[32] = w[14];
    w[33] = w[13];
    w[34] = w[12];
    w[35] = w[11];
    w[36] = w[10];
    w[37] = w[9];
    w[38] = w[8];
    w[39] = w[7];
    w[40] = w[6];
    w[41] = w[5];
    w[42] = w[4];
    w[43] = w[3];
    w[44] = w[2];
    w[45] = w[1];
    w[46] = w[0];
  }
  //----------------------------------------------------------------------
  //
  // --- Number of Gauss Points = 48
  //
  else if(n==48){
    x[0]  = -0.99877100725242611860054149156311364;
    x[1]  = -0.99353017226635075754792875084907412;
    x[2]  = -0.98412458372282685774458360002659883;
    x[3]  = -0.97059159254624725046141198380066006;
    x[4]  = -0.95298770316043086072296066602571834;
    x[5]  = -0.93138669070655433311417438010160127;
    x[6]  = -0.90587913671556967282207483567101179;
    x[7]  = -0.87657202027424788590569355480509675;
    x[8]  = -0.84358826162439353071108984451965605;
    x[9]  = -0.80706620402944262708255304302453845;
    x[10] = -0.76715903251574033925385543752296905;
    x[11] = -0.72403413092381465467448223349366525;
    x[12] = -0.67787237963266390521185128067590906;
    x[13] = -0.62886739677651362399516493306999465;
    x[14] = -0.57722472608397270381780923854047877;
    x[15] = -0.52316097472223303367822586913750853;
    x[16] = -0.46690290475095840454492886165079851;
    x[17] = -0.40868648199071672991622549581463329;
    x[18] = -0.34875588629216073815981793727040792;
    x[19] = -0.28736248735545557673588646131679769;
    x[20] = -0.22476379039468906122486544017469228;
    x[21] = -0.16122235606889171805643739078349769;
    x[22] = -0.09700469920946269893005395585362452;
    x[23] = -0.032380170962869362033322243152134442;
    x[24] = -x[23];
    x[25] = -x[22];
    x[26] = -x[21];
    x[27] = -x[20];
    x[28] = -x[19];
    x[29] = -x[18];
    x[30] = -x[17];
    x[31] = -x[16];
    x[32] = -x[15];
    x[33] = -x[14];
    x[34] = -x[13];
    x[35] = -x[12];
    x[36] = -x[11];
    x[37] = -x[10];
    x[38] = -x[9];
    x[39] = -x[8];
    x[40] = -x[7];
    x[41] = -x[6];
    x[42] = -x[5];
    x[43] = -x[4];
    x[44] = -x[3];
    x[45] = -x[2];
    x[46] = -x[1];
    x[47] = -x[0];
    w[0]  = 0.0031533460523058386326773115438914876;
    w[1]  = 0.0073275539012762621023839796217865501;
    w[2]  = 0.011477234579234539489592667609091628;
    w[3]  = 0.015579315722943848728176955834460314;
    w[4]  = 0.01961616045735552781446071965221271;
    w[5]  = 0.02357076083932437914051930137844923;
    w[6]  = 0.02742650970835694820007383626250582;
    w[7]  = 0.031167227832798088902065756846354419;
    w[8]  = 0.034777222564770438892548585963802411;
    w[9]  = 0.038241351065830706317217256523715618;
    w[10] = 0.041545082943464749214058822361064798;
    w[11] = 0.044674560856694280419448587125850395;
    w[12] = 0.04761665849249047482590662347892983;
    w[13] = 0.050359035553854474957807619087865606;
    w[14] = 0.052890189485193667095505056264698915;
    w[15] = 0.055199503699984162868203495191635439;
    w[16] = 0.057277292100403215705150234684700576;
    w[17] = 0.059114839698395635746474817433519911;
    w[18] = 0.060704439165893880052969232027820478;
    w[19] = 0.062039423159892663904197784137598518;
    w[20] = 0.063114192286254025657126022750233318;
    w[21] = 0.063924238584648186623906201825515409;
    w[22] = 0.064466164435950082206504193657705066;
    w[23] = 0.064737696812683922503024938736591554;
    w[24] = w[23];
    w[25] = w[22];
    w[26] = w[21];
    w[27] = w[20];
    w[28] = w[19];
    w[29] = w[18];
    w[30] = w[17];
    w[31] = w[16];
    w[32] = w[15];
    w[33] = w[14];
    w[34] = w[13];
    w[35] = w[12];
    w[36] = w[11];
    w[37] = w[10];
    w[38] = w[9];
    w[39] = w[8];
    w[40] = w[7];
    w[41] = w[6];
    w[42] = w[5];
    w[43] = w[4];
    w[44] = w[3];
    w[45] = w[2];
    w[46] = w[1];
    w[47] = w[0];
  } 
  //----------------------------------------------------------------------
  //
  // --- Number of Gauss Points = 49
  //
  else if(n==49){
    x[0]  = -0.99882015060663537936183127270411066;
    x[1]  = -0.99378866194416779076011385925795362;
    x[2]  = -0.98475789591421300435929899536857471;
    x[3]  = -0.97176220090155538013997242150477413;
    x[4]  = -0.95485365867413723355524367966818442;
    x[5]  = -0.9341002947558101490589824606365449;
    x[6]  = -0.90958565582807328521301964035580007;
    x[7]  = -0.88140844557300891003703153581700493;
    x[8]  = -0.84968211984416570103488187224297933;
    x[9]  = -0.81453442735985543153950078776477704;
    x[10] = -0.77610689434544663501814281224845607;
    x[11] = -0.73455425423740269621367421285852488;
    x[12] = -0.69004382442513211350475180727494193;
    x[13] = -0.64275483241923766405685694858390011;
    x[14] = -0.59287769410890071245586433679262853;
    x[15] = -0.54061324699172606655822546722943592;
    x[16] = -0.48617194145249204217697609605857506;
    x[17] = -0.42977299334157652465858414180742303;
    x[18] = -0.37164350126228488886373454094696053;
    x[19] = -0.31201753211974876220786067650641627;
    x[20] = -0.25113517861257727350715594282461127;
    x[21] = -0.18924159246181358648531017385998651;
    x[22] = -0.12658599726967205106798528857553619;
    x[23] = -0.063420684982686786028834820878484973;
    x[24] = 0.0;
    x[25] = -x[23];
    x[26] = -x[22];
    x[27] = -x[21];
    x[28] = -x[20];
    x[29] = -x[19];
    x[30] = -x[18];
    x[31] = -x[17];
    x[32] = -x[16];
    x[33] = -x[15];
    x[34] = -x[14];
    x[35] = -x[13];
    x[36] = -x[12];
    x[37] = -x[11];
    x[38] = -x[10];
    x[39] = -x[9];
    x[40] = -x[8];
    x[41] = -x[7];
    x[42] = -x[6];
    x[43] = -x[5];
    x[44] = -x[4];
    x[45] = -x[3];
    x[46] = -x[2];
    x[47] = -x[1];
    x[48] = -x[0];
    w[0]  = 0.003027278988922905077480698175827141;
    w[1]  = 0.0070350995900864514734506783113484109;
    w[2]  = 0.011020551031593580497508288166833333 ;
    w[3]  = 0.014962144935624651029584319120201504 ;
    w[4]  = 0.018843595853089458444450653391107349 ;
    w[5]  = 0.022649201587446676498770964216042887 ;
    w[6]  = 0.026363618927066016960945745239742048 ;
    w[7]  = 0.02997188462058382535069055807414721  ;
    w[8]  = 0.033459466791622174342487150891689202 ;
    w[9]  = 0.036812320963000689819467236698882295 ;
    w[10] = 0.040016945766373021368605036743103321 ;
    w[11] = 0.043060436981259597988345484001038496 ;
    w[12] = 0.045930539355595853542499619972127671 ;
    w[13] = 0.048615695887828240277651197287868531 ;
    w[14] = 0.051105094330144590674622806049318561 ;
    w[15] = 0.053388710708258968527942933730176206 ;
    w[16] = 0.055457349674803588690431581482698067;
    w[17] = 0.057302681530187475485164592350816536;
    w[18] = 0.058917275760027266024527650742492516;
    w[19] = 0.06029463095315201730310611687554159 ;
    w[20] = 0.061429200979192936296826646140301075;
    w[21] = 0.062316417320057267401076825215949704;
    w[22] = 0.062952707465195699474399555782891006;
    w[23] = 0.06333550929649174859083692740009052 ;
    w[24] = 0.063463281404790597718253467879529635;
    w[25] = w[23];                                
    w[26] = w[22];                                
    w[27] = w[21];                                
    w[28] = w[20];                                
    w[29] = w[19];                                
    w[30] = w[18];                                
    w[31] = w[17];
    w[32] = w[16];
    w[33] = w[15];
    w[34] = w[14];
    w[35] = w[13];
    w[36] = w[12];
    w[37] = w[11];
    w[38] = w[10];
    w[39] = w[9];
    w[40] = w[8];
    w[41] = w[7];
    w[42] = w[6];
    w[43] = w[5];
    w[44] = w[4];
    w[45] = w[3];
    w[46] = w[2];
    w[47] = w[1];
    w[48] = w[0];
  }           
  //----------------------------------------------------------------------
  //
  // --- Number of Gauss Points = 50
  //
  else if(n==50){
    x[0]  = -0.99886640442007105018545944497421851;
    x[1]  = -0.99403196943209071258510820042069473;
    x[2]  = -0.9853540840480058823090096256324894 ;
    x[3]  = -0.97286438510669207371334410460625205;
    x[4]  = -0.95661095524280794299774564415662209;
    x[5]  = -0.9366566189448779337808749472724966 ;
    x[6]  = -0.91307855665579189308973564277165709;
    x[7]  = -0.88596797952361304863754098246675363;
    x[8]  = -0.85542976942994608461136264393475747;
    x[9]  = -0.82158207085933594835625411087393954;
    x[10] = -0.7845558329003992639053051963409912 ;
    x[11] = -0.74449430222606853826053625268219424;
    x[12] = -0.70155246870682225108954625788365573;
    x[13] = -0.65589646568543936078162486400367982;
    x[14] = -0.60770292718495023918038179639183289;
    x[15] = -0.55715830451465005431552290962580161;
    x[16] = -0.50445814490746420165145913184914119;
    x[17] = -0.44980633497403878914713146777837582;
    x[18] = -0.39341431189756512739422925382381727;
    x[19] = -0.3355002454194373568369882572910717 ;
    x[20] = -0.27628819377953199032764527852113019;
    x[21] = -0.21600723687604175684728453261710133;
    x[22] = -0.1548905899981459020716286209411095 ;
    x[23] = -0.093174701560086140854450377639600348;
    x[24] = -0.031098338327188876112328989665949194;
    x[25] = -x[24];                              
    x[26] = -x[23];                               
    x[27] = -x[22];
    x[28] = -x[21];
    x[29] = -x[20];
    x[30] = -x[19];
    x[31] = -x[18];
    x[32] = -x[17];
    x[33] = -x[16];
    x[34] = -x[15];
    x[35] = -x[14];
    x[36] = -x[13];
    x[37] = -x[12];
    x[38] = -x[11];
    x[39] = -x[10];
    x[40] = -x[9];
    x[41] = -x[8];
    x[42] = -x[7];
    x[43] = -x[6];
    x[44] = -x[5];
    x[45] = -x[4];
    x[46] = -x[3];
    x[47] = -x[2];
    x[48] = -x[1];
    x[49] = -x[0];
    w[0]  = 0.0029086225531551409584007243428554808;
    w[1]  = 0.0067597991957454015027788781779850318;
    w[2]  = 0.010590548383650969263569681499241022 ;
    w[3]  = 0.01438082276148557441937890892732435  ;
    w[4]  = 0.01811556071348939035125994342235462  ;
    w[5]  = 0.021780243170124792981592069062690341 ;
    w[6]  = 0.025360673570012390440194878385442723 ;
    w[7]  = 0.028842993580535198029906373113232433 ;
    w[8]  = 0.032213728223578016648165827323003953 ;
    w[9] = 0.035459835615146154160734611000975797  ;
    w[10] = 0.038568756612587675244770150236385935 ;
    w[11] = 0.041528463090147697422411978964067018 ;
    w[12] = 0.044327504338803275492022286830394197 ;
    w[13] = 0.046955051303948432965633013634987683 ;
    w[14] = 0.049400938449466314921243580751432729 ;
    w[15] = 0.05165570306958113848990529584009528  ;
    w[16] = 0.053710621888996246523458797255664553;
    w[17] = 0.055557744806212517623567425612269498;
    w[18] = 0.057189925647728383723029315065993163;
    w[19] = 0.058600849813222445835122436630848466;
    w[20] = 0.059785058704265457509576405312585231;
    w[21] = 0.060737970841770216031750015384811002;
    w[22] = 0.061455899590316663756406786083915375;
    w[23] = 0.061936067420683243384087509780830689;
    w[24] = 0.062176616655347262321033107360613431;
    w[25] = w[24];                                
    w[26] = w[23];                                
    w[27] = w[22];                                
    w[28] = w[21];                                
    w[29] = w[20];                                
    w[30] = w[19];                                
    w[31] = w[18];                                
    w[32] = w[17];
    w[33] = w[16];
    w[34] = w[15];
    w[35] = w[14];
    w[36] = w[13];
    w[37] = w[12];
    w[38] = w[11];
    w[39] = w[10];
    w[40] = w[9];
    w[41] = w[8];
    w[42] = w[7];
    w[43] = w[6];
    w[44] = w[5];
    w[45] = w[4];
    w[46] = w[3];
    w[47] = w[2];
    w[48] = w[1];
    w[49] = w[0];
    //----------------------------------------------
  }
}
